Compare commits
724 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bc04937a6a | ||
|
|
29f8cc79ba | ||
|
|
089c253d1d | ||
|
|
d8e780b228 | ||
|
|
a9fce2dcf2 | ||
|
|
6067c8d55e | ||
|
|
0ab6abf462 | ||
|
|
306de3a64c | ||
|
|
929fd04613 | ||
|
|
581bdaa496 | ||
|
|
341fd254fb | ||
|
|
bf581b9f97 | ||
|
|
46eb9ce7a0 | ||
|
|
0adaebb290 | ||
|
|
d1b7e0eafb | ||
|
|
914f82f352 | ||
|
|
8e611b466e | ||
|
|
6e63ed4e60 | ||
|
|
73a34eacd6 | ||
|
|
9798538438 | ||
|
|
35b0224690 | ||
|
|
05ef5fa3a6 | ||
|
|
7707c862d1 | ||
|
|
01a6ef3a8f | ||
|
|
4385aac90c | ||
|
|
c9e4c18f17 | ||
|
|
c8526d42b4 | ||
|
|
e9017e8fe2 | ||
|
|
61df4f88b3 | ||
|
|
fcbb07a333 | ||
|
|
989269c732 | ||
|
|
b363398b28 | ||
|
|
fc2277bc88 | ||
|
|
a9bd1c60e6 | ||
|
|
297ba8f2b7 | ||
|
|
09933e22f6 | ||
|
|
5f52fb872a | ||
|
|
f65ff87b96 | ||
|
|
068ce24513 | ||
|
|
29543ed118 | ||
|
|
39ae4a3b58 | ||
|
|
4f808306ba | ||
|
|
6cef336417 | ||
|
|
0cc04706f6 | ||
|
|
c673bb0979 | ||
|
|
5221b1e4a3 | ||
|
|
8e0dbb7185 | ||
|
|
775528ce9b | ||
|
|
1a3e264b2a | ||
|
|
c5a553a600 | ||
|
|
c0b1e50a5f | ||
|
|
bb1a256295 | ||
|
|
7e7a3a6488 | ||
|
|
36f1fa15a5 | ||
|
|
3b5183de43 | ||
|
|
bbd08eda3e | ||
|
|
dce10d7282 | ||
|
|
82d8af1fb1 | ||
|
|
6c68aa9dcd | ||
|
|
7458eefa01 | ||
|
|
8ada1ee152 | ||
|
|
d73ad3115f | ||
|
|
832bdfde22 | ||
|
|
260a2d5c78 | ||
|
|
57247c5d87 | ||
|
|
e0616c37a9 | ||
|
|
3aa6f51dfb | ||
|
|
1d80fe9aec | ||
|
|
97379afe6d | ||
|
|
fb96392e73 | ||
|
|
0293a108f0 | ||
|
|
28b5be21b3 | ||
|
|
ae4be2c23c | ||
|
|
5bca214863 | ||
|
|
6ab007bc1d | ||
|
|
583f093eb0 | ||
|
|
0d8a899a65 | ||
|
|
676bf1bd60 | ||
|
|
e88c67465c | ||
|
|
8c484f86a9 | ||
|
|
5fba9bc4ed | ||
|
|
0635921d6b | ||
|
|
ec262d4c30 | ||
|
|
5507816c42 | ||
|
|
dcc77cf24f | ||
|
|
a35bcecf94 | ||
|
|
1852420b98 | ||
|
|
c9ce4a78e6 | ||
|
|
500f91f0cd | ||
|
|
1ee32b77dd | ||
|
|
c4d295b25d | ||
|
|
fdf2ed6ecc | ||
|
|
326ae76fe0 | ||
|
|
a7a18ad956 | ||
|
|
cf3636df3c | ||
|
|
a59ff57c27 | ||
|
|
0cd3bede0d | ||
|
|
637fa37fad | ||
|
|
07dcf38291 | ||
|
|
ff1f7362ee | ||
|
|
d30e83b5fc | ||
|
|
14349d0649 | ||
|
|
49b19450fd | ||
|
|
5b612b8ac7 | ||
|
|
e0b922c949 | ||
|
|
60df447550 | ||
|
|
2cf7a1f80d | ||
|
|
4dd0fb97fe | ||
|
|
12bce6a560 | ||
|
|
d869410d36 | ||
|
|
31bb43ca38 | ||
|
|
07e480ff7a | ||
|
|
c251804162 | ||
|
|
ff72e415aa | ||
|
|
7d30e3de14 | ||
|
|
8b529f488b | ||
|
|
b5930155df | ||
|
|
632840384b | ||
|
|
a96e814af4 | ||
|
|
b49b53934d | ||
|
|
df410529b0 | ||
|
|
477186d09d | ||
|
|
81f146a2ef | ||
|
|
84d0282815 | ||
|
|
d2de3c109a | ||
|
|
aad36c7430 | ||
|
|
4c62c67fd4 | ||
|
|
144b7b36d0 | ||
|
|
802641ce6b | ||
|
|
2d63e3d6aa | ||
|
|
728252ac87 | ||
|
|
79d042ad29 | ||
|
|
dd4095b15b | ||
|
|
1cf8308d03 | ||
|
|
4e890814ff | ||
|
|
175fbebd73 | ||
|
|
879d21c528 | ||
|
|
c7202b353d | ||
|
|
3a0574eae8 | ||
|
|
70c733e146 | ||
|
|
a64c28aa44 | ||
|
|
35365a7154 | ||
|
|
9594284f6c | ||
|
|
0358473af5 | ||
|
|
8d553a3fc6 | ||
|
|
373dcded2c | ||
|
|
e59d52bae4 | ||
|
|
fa00314b77 | ||
|
|
7aad3ae3b5 | ||
|
|
6c56e47083 | ||
|
|
6c048fad01 | ||
|
|
593079dbbb | ||
|
|
2761244d2e | ||
|
|
f58f6bb6d2 | ||
|
|
da83e02749 | ||
|
|
76efb16f96 | ||
|
|
d411873503 | ||
|
|
f0a4c1c252 | ||
|
|
1f845a4119 | ||
|
|
17496ff5cf | ||
|
|
e3322af384 | ||
|
|
b1d394eac5 | ||
|
|
fd8ff7d7cf | ||
|
|
bc19b0d103 | ||
|
|
aea6f68598 | ||
|
|
332bcae24f | ||
|
|
4335b3b2d4 | ||
|
|
d6435eff85 | ||
|
|
2c313594da | ||
|
|
bc21f77976 | ||
|
|
dbcb179523 | ||
|
|
35e83855a8 | ||
|
|
6b086e3eb2 | ||
|
|
049f23071c | ||
|
|
e6c46bf4da | ||
|
|
6984dca394 | ||
|
|
7a86cc4bf3 | ||
|
|
219586d55d | ||
|
|
6a00c0ee7e | ||
|
|
873c7be99e | ||
|
|
c9cfa92b04 | ||
|
|
ff46ca546d | ||
|
|
f1ba57b78b | ||
|
|
4cf83b9ef4 | ||
|
|
3702e2e998 | ||
|
|
30c1adfe5b | ||
|
|
c75035bf6e | ||
|
|
59358e7bac | ||
|
|
19fa0b968f | ||
|
|
f2d02a6f46 | ||
|
|
05ec73266c | ||
|
|
a9acb80132 | ||
|
|
ed89f70f98 | ||
|
|
45afaa8ec8 | ||
|
|
4757c2c945 | ||
|
|
65395185c3 | ||
|
|
f2f3ac7d42 | ||
|
|
cb999bda7b | ||
|
|
cd14bccdc8 | ||
|
|
cf6966058e | ||
|
|
74b209bcc8 | ||
|
|
4a97020b78 | ||
|
|
e0d8942741 | ||
|
|
4f25e6c1ad | ||
|
|
81b4a1978b | ||
|
|
87d828a1b0 | ||
|
|
e52ff98cad | ||
|
|
7cabc876f5 | ||
|
|
8fa47cb789 | ||
|
|
ef76affd77 | ||
|
|
38a034e59b | ||
|
|
fb26ecf577 | ||
|
|
de99aac3ad | ||
|
|
4d9d224917 | ||
|
|
ac46b51d41 | ||
|
|
7aff7962f0 | ||
|
|
1a96f276f8 | ||
|
|
480c3129bd | ||
|
|
981661ea68 | ||
|
|
51f7d6cea2 | ||
|
|
7d28581915 | ||
|
|
4a0f23b0ea | ||
|
|
aaee2d9294 | ||
|
|
d5c960096e | ||
|
|
0c94ce6cc3 | ||
|
|
f280eea788 | ||
|
|
af7b0e4e1f | ||
|
|
ef35fc0c5f | ||
|
|
ca1f39a260 | ||
|
|
b92d61e154 | ||
|
|
70ff884ebb | ||
|
|
6f6c536236 | ||
|
|
a1095285e4 | ||
|
|
00d20f14b9 | ||
|
|
560e0f7334 | ||
|
|
fc2dce6882 | ||
|
|
bd3d0dd64d | ||
|
|
f824d09ed3 | ||
|
|
d7c5f86ce7 | ||
|
|
c760b43e5a | ||
|
|
b1fe807b47 | ||
|
|
0d6a7eb797 | ||
|
|
bf6390d72e | ||
|
|
e595f1859a | ||
|
|
06930ebe2c | ||
|
|
08c96a6794 | ||
|
|
61db89e89d | ||
|
|
a2c0e4ca2e | ||
|
|
b08a950c37 | ||
|
|
ad979180e5 | ||
|
|
465812b673 | ||
|
|
f59e77002b | ||
|
|
e4018ec677 | ||
|
|
df7ca65108 | ||
|
|
d12fcac9af | ||
|
|
66fc28ec1b | ||
|
|
10ad2a559a | ||
|
|
b8ac70e59a | ||
|
|
7492636818 | ||
|
|
36a0eabf4a | ||
|
|
cf4fdbbab1 | ||
|
|
f1b6b5f6f9 | ||
|
|
e06b3fceb5 | ||
|
|
4628dd07e4 | ||
|
|
55a3d9b157 | ||
|
|
c70c1d97e5 | ||
|
|
da4e4d4ad0 | ||
|
|
3d9ee3f2b4 | ||
|
|
b9331ffa55 | ||
|
|
2b0935c4aa | ||
|
|
9d7047864e | ||
|
|
20d507dbef | ||
|
|
be7d1d2cd2 | ||
|
|
587968710f | ||
|
|
a0b30bb3ae | ||
|
|
60e954634d | ||
|
|
ffecf1ed15 | ||
|
|
b7a142c21e | ||
|
|
5716cebb0f | ||
|
|
ff68538085 | ||
|
|
7c251b8017 | ||
|
|
bf5917177a | ||
|
|
dacfb931bb | ||
|
|
97d77f5c51 | ||
|
|
fce8186759 | ||
|
|
d35f6abca0 | ||
|
|
cf31c22e5d | ||
|
|
3f7c2e8842 | ||
|
|
ecdcc27749 | ||
|
|
497d244f95 | ||
|
|
a738736d6b | ||
|
|
a4ce2d01ce | ||
|
|
41c2b76d8d | ||
|
|
35ebc4899e | ||
|
|
9552d210f5 | ||
|
|
9370b5110e | ||
|
|
7009be8922 | ||
|
|
c1a96c83fb | ||
|
|
5d66e4eaf8 | ||
|
|
ed267d17f2 | ||
|
|
6e91ebeb3d | ||
|
|
d70c6e1734 | ||
|
|
4de4c32c0e | ||
|
|
637ae34839 | ||
|
|
d23144bc61 | ||
|
|
e90868072e | ||
|
|
980d2a8dc3 | ||
|
|
eef5ddb416 | ||
|
|
3d7ff7a149 | ||
|
|
287edb755d | ||
|
|
8c612a96c8 | ||
|
|
efe67e2acc | ||
|
|
2cdf3c16ab | ||
|
|
a88b2af4a9 | ||
|
|
b9f07e8684 | ||
|
|
d957e44e1e | ||
|
|
15e3437001 | ||
|
|
eebea59fe3 | ||
|
|
5074f2dbab | ||
|
|
0f364a6d13 | ||
|
|
d9db03bca3 | ||
|
|
b9e2e1098f | ||
|
|
a126da5f23 | ||
|
|
23eae27a8f | ||
|
|
3e1bb88ab7 | ||
|
|
4de7ce32dd | ||
|
|
6128d54601 | ||
|
|
4d81887bcf | ||
|
|
2e5dc82692 | ||
|
|
4afe1ff569 | ||
|
|
3ff127d514 | ||
|
|
ea3ca66303 | ||
|
|
279f0e4f6c | ||
|
|
61fc00dc08 | ||
|
|
d6f9ddc3af | ||
|
|
b52c838018 | ||
|
|
e0de25ed65 | ||
|
|
03a2c11225 | ||
|
|
52480783ee | ||
|
|
f6361992e3 | ||
|
|
eedec4ff02 | ||
|
|
7b042be9db | ||
|
|
b2cba6b6d7 | ||
|
|
0ff000d660 | ||
|
|
4e4420af2e | ||
|
|
9ea7262352 | ||
|
|
227009733e | ||
|
|
136fcd7bb2 | ||
|
|
67ab59106f | ||
|
|
e8b975a095 | ||
|
|
ad4a75bdc1 | ||
|
|
582f64b2e7 | ||
|
|
d4e982faea | ||
|
|
4db77c9051 | ||
|
|
0397401216 | ||
|
|
6c062ab1e2 | ||
|
|
106804ad45 | ||
|
|
4745f9e999 | ||
|
|
901c4f7b80 | ||
|
|
5ee73cdf63 | ||
|
|
54b712fa71 | ||
|
|
e70fcef651 | ||
|
|
6779a76b68 | ||
|
|
cd48e06060 | ||
|
|
4956e67348 | ||
|
|
9a8c134c97 | ||
|
|
ef101ccb9a | ||
|
|
bb90a50ae4 | ||
|
|
6c62817de5 | ||
|
|
7c06d9a638 | ||
|
|
ae7773cfcf | ||
|
|
d7b73eb50f | ||
|
|
eff1014911 | ||
|
|
f6c85cd37a | ||
|
|
888c47cdd2 | ||
|
|
74a3eba08f | ||
|
|
78192dc1af | ||
|
|
ed6d012e6c | ||
|
|
04b5a5f9ac | ||
|
|
a763726c89 | ||
|
|
3991a2d88f | ||
|
|
48e2dad3a4 | ||
|
|
e7969992c3 | ||
|
|
6ddaff6260 | ||
|
|
9e1f358f82 | ||
|
|
066bf516d9 | ||
|
|
a44047bfe3 | ||
|
|
0913b68a1e | ||
|
|
42a23277cd | ||
|
|
cc30726ab6 | ||
|
|
c2143fdf86 | ||
|
|
da3f86d6ba | ||
|
|
26fdbf63ee | ||
|
|
7bee668888 | ||
|
|
7f6418b18f | ||
|
|
4370ec922b | ||
|
|
ec97f0c316 | ||
|
|
84870f2fa2 | ||
|
|
42a4d10ea5 | ||
|
|
8e3a76186b | ||
|
|
9a278213bd | ||
|
|
c6bc4c1bd6 | ||
|
|
17b8ef09c6 | ||
|
|
8f7ba02ab1 | ||
|
|
246f9ce17f | ||
|
|
8d73838d80 | ||
|
|
1fc4ece14c | ||
|
|
0adc960c60 | ||
|
|
c426aefd1a | ||
|
|
00cf395483 | ||
|
|
61ed864e02 | ||
|
|
90b099395b | ||
|
|
12e6f44135 | ||
|
|
e44fc69d14 | ||
|
|
8454239a98 | ||
|
|
64106c771a | ||
|
|
17234ac8fa | ||
|
|
b64802b92f | ||
|
|
6fa02b1a8d | ||
|
|
7420df9598 | ||
|
|
00bcd480e7 | ||
|
|
0d3c72f356 | ||
|
|
97a9fde5fd | ||
|
|
a664615a2d | ||
|
|
3d4f9500e9 | ||
|
|
a8450580e8 | ||
|
|
8654924869 | ||
|
|
068585379a | ||
|
|
fc5fc08962 | ||
|
|
41fdcb2ae8 | ||
|
|
de4804863a | ||
|
|
2ac4dde729 | ||
|
|
498d0d22fb | ||
|
|
2a38777379 | ||
|
|
01c1fdfd16 | ||
|
|
0a8e7f5663 | ||
|
|
1755334124 | ||
|
|
40c0d8d83b | ||
|
|
ee53d50c3a | ||
|
|
8570971f68 | ||
|
|
e1a110b1bf | ||
|
|
77235f7750 | ||
|
|
c7fd64e0c8 | ||
|
|
8f04fd436f | ||
|
|
b085c1501f | ||
|
|
7f390df879 | ||
|
|
54e65082bc | ||
|
|
826dae129e | ||
|
|
12da3bd89e | ||
|
|
b089be7b49 | ||
|
|
33ea3a1419 | ||
|
|
66cae71d90 | ||
|
|
6219f0da67 | ||
|
|
7f2e5a0b70 | ||
|
|
d52f8974fd | ||
|
|
2c12e4f6bf | ||
|
|
b88bd5d44d | ||
|
|
41b283ce5d | ||
|
|
cd7f4681a4 | ||
|
|
d1b7f836db | ||
|
|
3d1e6eab00 | ||
|
|
48ccd9070c | ||
|
|
67fbcb1b4a | ||
|
|
a203fe34cf | ||
|
|
85438e7454 | ||
|
|
d6d14617d2 | ||
|
|
a1b95e5072 | ||
|
|
29feab638a | ||
|
|
60dc54b081 | ||
|
|
27e6f677e8 | ||
|
|
d8199201a5 | ||
|
|
a7f0e2b7c6 | ||
|
|
79dcd22ff6 | ||
|
|
2be4080bc6 | ||
|
|
b646c2fd98 | ||
|
|
90c0f76ae4 | ||
|
|
3c53b89040 | ||
|
|
a7987a83fd | ||
|
|
ef8b57a1d2 | ||
|
|
ab2e87a8fb | ||
|
|
088360ec51 | ||
|
|
7bdd177713 | ||
|
|
81b6d5bb93 | ||
|
|
5eb4bda600 | ||
|
|
cb49c5d420 | ||
|
|
a984971774 | ||
|
|
9f027cc3e0 | ||
|
|
fe7770c833 | ||
|
|
8514dbe96a | ||
|
|
ed76454ddb | ||
|
|
54711b2054 | ||
|
|
fdfbfe7b60 | ||
|
|
d6936c87f3 | ||
|
|
a105217e83 | ||
|
|
e52c20b9e7 | ||
|
|
4754160055 | ||
|
|
d2b9504c3b | ||
|
|
b0b76c5a00 | ||
|
|
deab24e916 | ||
|
|
2bb9b87db9 | ||
|
|
5bd044d646 | ||
|
|
371292e03a | ||
|
|
acc5baec7d | ||
|
|
ed692bcaa5 | ||
|
|
7352f76b87 | ||
|
|
ad505b2b2f | ||
|
|
6ce421363d | ||
|
|
248259b312 | ||
|
|
f010df7082 | ||
|
|
69e2ebf2e7 | ||
|
|
c852505a62 | ||
|
|
d3e8d99bdf | ||
|
|
a9d3e271b0 | ||
|
|
139119e954 | ||
|
|
09a3a87cef | ||
|
|
83e93916e8 | ||
|
|
3546dd14d0 | ||
|
|
e75b5b3be5 | ||
|
|
ed3b4e5b29 | ||
|
|
9698baf6e7 | ||
|
|
26677004f1 | ||
|
|
25f0c37a20 | ||
|
|
ab3b567cd8 | ||
|
|
a0f548fc0b | ||
|
|
e3720bb4a6 | ||
|
|
b35b8d98c3 | ||
|
|
2612453597 | ||
|
|
42d83e80a3 | ||
|
|
44e680ee41 | ||
|
|
965416de73 | ||
|
|
1c75c47a9c | ||
|
|
35c27c5741 | ||
|
|
af859aa755 | ||
|
|
f5949f2664 | ||
|
|
96e9e55642 | ||
|
|
778c701b87 | ||
|
|
a73b174d9f | ||
|
|
17123c1d88 | ||
|
|
45860ca2a6 | ||
|
|
d3c97eedfe | ||
|
|
a2b68ea7fc | ||
|
|
62aad10008 | ||
|
|
474bb0904e | ||
|
|
b0f840c273 | ||
|
|
9ec78d1455 | ||
|
|
f2d2b9a682 | ||
|
|
23fe991c36 | ||
|
|
d9d2e0017e | ||
|
|
b6ca8f7d2c | ||
|
|
cacfa163ce | ||
|
|
d00609bb8a | ||
|
|
b59f136ece | ||
|
|
25999cea10 | ||
|
|
95e8d60729 | ||
|
|
1d2dd19244 | ||
|
|
743ce71c5c | ||
|
|
42e3f73088 | ||
|
|
ec6877dbc6 | ||
|
|
c8f753db0d | ||
|
|
e776b5ca1a | ||
|
|
36e2cde04d | ||
|
|
f3e7c2028c | ||
|
|
f3c57b6730 | ||
|
|
bc90f5186a | ||
|
|
62b679b1b9 | ||
|
|
ab747d2432 | ||
|
|
debed501b2 | ||
|
|
a80e20067c | ||
|
|
22268eed9d | ||
|
|
f7e2617911 | ||
|
|
f9211ff50f | ||
|
|
aabdabf3bc | ||
|
|
de229f63fe | ||
|
|
75c4bee8a3 | ||
|
|
60a1b3294d | ||
|
|
ef99174585 | ||
|
|
8b18526f46 | ||
|
|
12af6232e2 | ||
|
|
153f4d20f1 | ||
|
|
df5cfabfe5 | ||
|
|
bf6297aaf2 | ||
|
|
b72c05d3d4 | ||
|
|
a36e95c286 | ||
|
|
b457f8d1c1 | ||
|
|
9d027747d1 | ||
|
|
6bf9ff5637 | ||
|
|
0b042532fd | ||
|
|
61f467a323 | ||
|
|
02bb1fc390 | ||
|
|
e32eecd6e7 | ||
|
|
988536f96b | ||
|
|
335ded674e | ||
|
|
b6ae7a6d21 | ||
|
|
c67b6cd443 | ||
|
|
8cba47f382 | ||
|
|
203cde9805 | ||
|
|
064d97f87b | ||
|
|
9a051ef2c6 | ||
|
|
0f62614055 | ||
|
|
672050727f | ||
|
|
d136d594f4 | ||
|
|
b4186d6724 | ||
|
|
02d6b7d658 | ||
|
|
d07e718ab8 | ||
|
|
f0836d7182 | ||
|
|
bc5c2513f6 | ||
|
|
ec834a0666 | ||
|
|
77742179c0 | ||
|
|
a3140b6659 | ||
|
|
4b62598a3d | ||
|
|
ddfabb0c0e | ||
|
|
51298f156b | ||
|
|
141b48d3cf | ||
|
|
5a7c36c581 | ||
|
|
8a90996b36 | ||
|
|
548a50b984 | ||
|
|
19e8e60a4d | ||
|
|
6aeca83c63 | ||
|
|
33178ef034 | ||
|
|
710b520da9 | ||
|
|
b3363acf77 | ||
|
|
6852b7a1d1 | ||
|
|
418f957332 | ||
|
|
a05508a9f2 | ||
|
|
dd899c804a | ||
|
|
1651de1305 | ||
|
|
078210b54c | ||
|
|
e2c8b11008 | ||
|
|
d85fb260e7 | ||
|
|
e79a08e392 | ||
|
|
7e9b1b87e6 | ||
|
|
b8cbaa2fa0 | ||
|
|
ddd9c4c6b0 | ||
|
|
a729a474b1 | ||
|
|
911aed5fe2 | ||
|
|
53606a4bbc | ||
|
|
3b653f93fc | ||
|
|
17c8cbb057 | ||
|
|
ee293876d9 | ||
|
|
3b0fa0c05d | ||
|
|
8267ad9aab | ||
|
|
a3b6aafaca | ||
|
|
2dbed96be1 | ||
|
|
2ba6fb17ca | ||
|
|
3723b4b1ea | ||
|
|
172dd58903 | ||
|
|
a9a547e56d | ||
|
|
d42a2d5140 | ||
|
|
428bf55480 | ||
|
|
36f494ba63 | ||
|
|
9b60816ebd | ||
|
|
ea77de5d56 | ||
|
|
05eba603a5 | ||
|
|
37f27d8ae4 | ||
|
|
759ca3ba7e | ||
|
|
59e7d063a0 | ||
|
|
6e3ccc1a21 | ||
|
|
80628a28a7 | ||
|
|
6bb1004bcd | ||
|
|
6170a56648 | ||
|
|
f3b6c4cf32 | ||
|
|
83483abfa5 | ||
|
|
e38c08ab12 | ||
|
|
c288185a16 | ||
|
|
b9ed8b84f5 | ||
|
|
ee162f6f9e | ||
|
|
101e977939 | ||
|
|
25614620db | ||
|
|
62dcebff94 | ||
|
|
af97175839 | ||
|
|
1ee5238ad7 | ||
|
|
575e55cb0f | ||
|
|
ee3be8b633 | ||
|
|
7f22d27d51 | ||
|
|
4546ca9ba6 | ||
|
|
1e97597bc2 | ||
|
|
77f1da30ea | ||
|
|
682b86c193 | ||
|
|
cdb7a02cb8 | ||
|
|
0be3b1acd7 | ||
|
|
4f1f49d96f | ||
|
|
6075c5bde0 | ||
|
|
d86cc7a854 | ||
|
|
25fb389a7d | ||
|
|
d9e774f079 | ||
|
|
7959e0c916 | ||
|
|
ef3ac77bd8 | ||
|
|
efcf91e934 | ||
|
|
b8a7a66566 | ||
|
|
e04eed4a89 | ||
|
|
b490942bcd | ||
|
|
26cc85806e | ||
|
|
2c8152606c | ||
|
|
3c1b6ae4cf | ||
|
|
6c3a3fea66 | ||
|
|
fb9fec282b | ||
|
|
bbd30411fd | ||
|
|
2056f9f8d0 | ||
|
|
68018c924e | ||
|
|
0c773134f2 | ||
|
|
0d16e27070 | ||
|
|
326c53d6c4 | ||
|
|
d1a46acc9a | ||
|
|
57fa29dd64 | ||
|
|
bfa55922cf | ||
|
|
43da727a9f | ||
|
|
580c4429e8 | ||
|
|
3498f8ccb6 | ||
|
|
5e9b3d9190 | ||
|
|
dfb4212d43 | ||
|
|
b1ccfab6d2 | ||
|
|
984a97d958 | ||
|
|
463546f102 | ||
|
|
477a17d0b9 | ||
|
|
556af32bb5 | ||
|
|
ef8b9b81c3 | ||
|
|
9362dd9465 | ||
|
|
20091cc10a | ||
|
|
6280fd9c28 | ||
|
|
af096bc1cc | ||
|
|
a8091332b8 | ||
|
|
7ba50c91a2 | ||
|
|
0ba9eaeccc | ||
|
|
d4b6fdea92 |
396
.bandit.yml
Normal file
@@ -0,0 +1,396 @@
|
||||
|
||||
### Bandit config file generated
|
||||
|
||||
### This config may optionally select a subset of tests to run or skip by
|
||||
### filling out the 'tests' and 'skips' lists given below. If no tests are
|
||||
### specified for inclusion then it is assumed all tests are desired. The skips
|
||||
### set will remove specific tests from the include set. This can be controlled
|
||||
### using the -t/-s CLI options. Note that the same test ID should not appear
|
||||
### in both 'tests' and 'skips', this would be nonsensical and is detected by
|
||||
### Bandit at runtime.
|
||||
|
||||
# Available tests:
|
||||
# B101 : assert_used
|
||||
# B102 : exec_used
|
||||
# B103 : set_bad_file_permissions
|
||||
# B104 : hardcoded_bind_all_interfaces
|
||||
# B105 : hardcoded_password_string
|
||||
# B106 : hardcoded_password_funcarg
|
||||
# B107 : hardcoded_password_default
|
||||
# B108 : hardcoded_tmp_directory
|
||||
# B110 : try_except_pass
|
||||
# B112 : try_except_continue
|
||||
# B201 : flask_debug_true
|
||||
# B301 : pickle
|
||||
# B302 : marshal
|
||||
# B303 : md5
|
||||
# B304 : ciphers
|
||||
# B305 : cipher_modes
|
||||
# B306 : mktemp_q
|
||||
# B307 : eval
|
||||
# B308 : mark_safe
|
||||
# B309 : httpsconnection
|
||||
# B310 : urllib_urlopen
|
||||
# B311 : random
|
||||
# B312 : telnetlib
|
||||
# B313 : xml_bad_cElementTree
|
||||
# B314 : xml_bad_ElementTree
|
||||
# B315 : xml_bad_expatreader
|
||||
# B316 : xml_bad_expatbuilder
|
||||
# B317 : xml_bad_sax
|
||||
# B318 : xml_bad_minidom
|
||||
# B319 : xml_bad_pulldom
|
||||
# B320 : xml_bad_etree
|
||||
# B321 : ftplib
|
||||
# B322 : input
|
||||
# B323 : unverified_context
|
||||
# B324 : hashlib_new_insecure_functions
|
||||
# B325 : tempnam
|
||||
# B401 : import_telnetlib
|
||||
# B402 : import_ftplib
|
||||
# B403 : import_pickle
|
||||
# B404 : import_subprocess
|
||||
# B405 : import_xml_etree
|
||||
# B406 : import_xml_sax
|
||||
# B407 : import_xml_expat
|
||||
# B408 : import_xml_minidom
|
||||
# B409 : import_xml_pulldom
|
||||
# B410 : import_lxml
|
||||
# B411 : import_xmlrpclib
|
||||
# B412 : import_httpoxy
|
||||
# B413 : import_pycrypto
|
||||
# B501 : request_with_no_cert_validation
|
||||
# B502 : ssl_with_bad_version
|
||||
# B503 : ssl_with_bad_defaults
|
||||
# B504 : ssl_with_no_version
|
||||
# B505 : weak_cryptographic_key
|
||||
# B506 : yaml_load
|
||||
# B507 : ssh_no_host_key_verification
|
||||
# B601 : paramiko_calls
|
||||
# B602 : subprocess_popen_with_shell_equals_true
|
||||
# B603 : subprocess_without_shell_equals_true
|
||||
# B604 : any_other_function_with_shell_equals_true
|
||||
# B605 : start_process_with_a_shell
|
||||
# B606 : start_process_with_no_shell
|
||||
# B607 : start_process_with_partial_path
|
||||
# B608 : hardcoded_sql_expressions
|
||||
# B609 : linux_commands_wildcard_injection
|
||||
# B610 : django_extra_used
|
||||
# B611 : django_rawsql_used
|
||||
# B701 : jinja2_autoescape_false
|
||||
# B702 : use_of_mako_templates
|
||||
# B703 : django_mark_safe
|
||||
|
||||
# (optional) list included test IDs here, eg '[B101, B406]':
|
||||
tests:
|
||||
|
||||
# (optional) list skipped test IDs here, eg '[B101, B406]':
|
||||
skips: ['B322']
|
||||
|
||||
### (optional) plugin settings - some test plugins require configuration data
|
||||
### that may be given here, per-plugin. All bandit test plugins have a built in
|
||||
### set of sensible defaults and these will be used if no configuration is
|
||||
### provided. It is not necessary to provide settings for every (or any) plugin
|
||||
### if the defaults are acceptable.
|
||||
|
||||
any_other_function_with_shell_equals_true:
|
||||
no_shell:
|
||||
- os.execl
|
||||
- os.execle
|
||||
- os.execlp
|
||||
- os.execlpe
|
||||
- os.execv
|
||||
- os.execve
|
||||
- os.execvp
|
||||
- os.execvpe
|
||||
- os.spawnl
|
||||
- os.spawnle
|
||||
- os.spawnlp
|
||||
- os.spawnlpe
|
||||
- os.spawnv
|
||||
- os.spawnve
|
||||
- os.spawnvp
|
||||
- os.spawnvpe
|
||||
- os.startfile
|
||||
shell:
|
||||
- os.system
|
||||
- os.popen
|
||||
- os.popen2
|
||||
- os.popen3
|
||||
- os.popen4
|
||||
- popen2.popen2
|
||||
- popen2.popen3
|
||||
- popen2.popen4
|
||||
- popen2.Popen3
|
||||
- popen2.Popen4
|
||||
- commands.getoutput
|
||||
- commands.getstatusoutput
|
||||
subprocess:
|
||||
- subprocess.Popen
|
||||
- subprocess.call
|
||||
- subprocess.check_call
|
||||
- subprocess.check_output
|
||||
- subprocess.run
|
||||
hardcoded_tmp_directory:
|
||||
tmp_dirs:
|
||||
- /tmp
|
||||
- /var/tmp
|
||||
- /dev/shm
|
||||
linux_commands_wildcard_injection:
|
||||
no_shell:
|
||||
- os.execl
|
||||
- os.execle
|
||||
- os.execlp
|
||||
- os.execlpe
|
||||
- os.execv
|
||||
- os.execve
|
||||
- os.execvp
|
||||
- os.execvpe
|
||||
- os.spawnl
|
||||
- os.spawnle
|
||||
- os.spawnlp
|
||||
- os.spawnlpe
|
||||
- os.spawnv
|
||||
- os.spawnve
|
||||
- os.spawnvp
|
||||
- os.spawnvpe
|
||||
- os.startfile
|
||||
shell:
|
||||
- os.system
|
||||
- os.popen
|
||||
- os.popen2
|
||||
- os.popen3
|
||||
- os.popen4
|
||||
- popen2.popen2
|
||||
- popen2.popen3
|
||||
- popen2.popen4
|
||||
- popen2.Popen3
|
||||
- popen2.Popen4
|
||||
- commands.getoutput
|
||||
- commands.getstatusoutput
|
||||
subprocess:
|
||||
- subprocess.Popen
|
||||
- subprocess.call
|
||||
- subprocess.check_call
|
||||
- subprocess.check_output
|
||||
- subprocess.run
|
||||
ssl_with_bad_defaults:
|
||||
bad_protocol_versions:
|
||||
- PROTOCOL_SSLv2
|
||||
- SSLv2_METHOD
|
||||
- SSLv23_METHOD
|
||||
- PROTOCOL_SSLv3
|
||||
- PROTOCOL_TLSv1
|
||||
- SSLv3_METHOD
|
||||
- TLSv1_METHOD
|
||||
ssl_with_bad_version:
|
||||
bad_protocol_versions:
|
||||
- PROTOCOL_SSLv2
|
||||
- SSLv2_METHOD
|
||||
- SSLv23_METHOD
|
||||
- PROTOCOL_SSLv3
|
||||
- PROTOCOL_TLSv1
|
||||
- SSLv3_METHOD
|
||||
- TLSv1_METHOD
|
||||
start_process_with_a_shell:
|
||||
no_shell:
|
||||
- os.execl
|
||||
- os.execle
|
||||
- os.execlp
|
||||
- os.execlpe
|
||||
- os.execv
|
||||
- os.execve
|
||||
- os.execvp
|
||||
- os.execvpe
|
||||
- os.spawnl
|
||||
- os.spawnle
|
||||
- os.spawnlp
|
||||
- os.spawnlpe
|
||||
- os.spawnv
|
||||
- os.spawnve
|
||||
- os.spawnvp
|
||||
- os.spawnvpe
|
||||
- os.startfile
|
||||
shell:
|
||||
- os.system
|
||||
- os.popen
|
||||
- os.popen2
|
||||
- os.popen3
|
||||
- os.popen4
|
||||
- popen2.popen2
|
||||
- popen2.popen3
|
||||
- popen2.popen4
|
||||
- popen2.Popen3
|
||||
- popen2.Popen4
|
||||
- commands.getoutput
|
||||
- commands.getstatusoutput
|
||||
subprocess:
|
||||
- subprocess.Popen
|
||||
- subprocess.call
|
||||
- subprocess.check_call
|
||||
- subprocess.check_output
|
||||
- subprocess.run
|
||||
start_process_with_no_shell:
|
||||
no_shell:
|
||||
- os.execl
|
||||
- os.execle
|
||||
- os.execlp
|
||||
- os.execlpe
|
||||
- os.execv
|
||||
- os.execve
|
||||
- os.execvp
|
||||
- os.execvpe
|
||||
- os.spawnl
|
||||
- os.spawnle
|
||||
- os.spawnlp
|
||||
- os.spawnlpe
|
||||
- os.spawnv
|
||||
- os.spawnve
|
||||
- os.spawnvp
|
||||
- os.spawnvpe
|
||||
- os.startfile
|
||||
shell:
|
||||
- os.system
|
||||
- os.popen
|
||||
- os.popen2
|
||||
- os.popen3
|
||||
- os.popen4
|
||||
- popen2.popen2
|
||||
- popen2.popen3
|
||||
- popen2.popen4
|
||||
- popen2.Popen3
|
||||
- popen2.Popen4
|
||||
- commands.getoutput
|
||||
- commands.getstatusoutput
|
||||
subprocess:
|
||||
- subprocess.Popen
|
||||
- subprocess.call
|
||||
- subprocess.check_call
|
||||
- subprocess.check_output
|
||||
- subprocess.run
|
||||
start_process_with_partial_path:
|
||||
no_shell:
|
||||
- os.execl
|
||||
- os.execle
|
||||
- os.execlp
|
||||
- os.execlpe
|
||||
- os.execv
|
||||
- os.execve
|
||||
- os.execvp
|
||||
- os.execvpe
|
||||
- os.spawnl
|
||||
- os.spawnle
|
||||
- os.spawnlp
|
||||
- os.spawnlpe
|
||||
- os.spawnv
|
||||
- os.spawnve
|
||||
- os.spawnvp
|
||||
- os.spawnvpe
|
||||
- os.startfile
|
||||
shell:
|
||||
- os.system
|
||||
- os.popen
|
||||
- os.popen2
|
||||
- os.popen3
|
||||
- os.popen4
|
||||
- popen2.popen2
|
||||
- popen2.popen3
|
||||
- popen2.popen4
|
||||
- popen2.Popen3
|
||||
- popen2.Popen4
|
||||
- commands.getoutput
|
||||
- commands.getstatusoutput
|
||||
subprocess:
|
||||
- subprocess.Popen
|
||||
- subprocess.call
|
||||
- subprocess.check_call
|
||||
- subprocess.check_output
|
||||
- subprocess.run
|
||||
subprocess_popen_with_shell_equals_true:
|
||||
no_shell:
|
||||
- os.execl
|
||||
- os.execle
|
||||
- os.execlp
|
||||
- os.execlpe
|
||||
- os.execv
|
||||
- os.execve
|
||||
- os.execvp
|
||||
- os.execvpe
|
||||
- os.spawnl
|
||||
- os.spawnle
|
||||
- os.spawnlp
|
||||
- os.spawnlpe
|
||||
- os.spawnv
|
||||
- os.spawnve
|
||||
- os.spawnvp
|
||||
- os.spawnvpe
|
||||
- os.startfile
|
||||
shell:
|
||||
- os.system
|
||||
- os.popen
|
||||
- os.popen2
|
||||
- os.popen3
|
||||
- os.popen4
|
||||
- popen2.popen2
|
||||
- popen2.popen3
|
||||
- popen2.popen4
|
||||
- popen2.Popen3
|
||||
- popen2.Popen4
|
||||
- commands.getoutput
|
||||
- commands.getstatusoutput
|
||||
subprocess:
|
||||
- subprocess.Popen
|
||||
- subprocess.call
|
||||
- subprocess.check_call
|
||||
- subprocess.check_output
|
||||
- subprocess.run
|
||||
subprocess_without_shell_equals_true:
|
||||
no_shell:
|
||||
- os.execl
|
||||
- os.execle
|
||||
- os.execlp
|
||||
- os.execlpe
|
||||
- os.execv
|
||||
- os.execve
|
||||
- os.execvp
|
||||
- os.execvpe
|
||||
- os.spawnl
|
||||
- os.spawnle
|
||||
- os.spawnlp
|
||||
- os.spawnlpe
|
||||
- os.spawnv
|
||||
- os.spawnve
|
||||
- os.spawnvp
|
||||
- os.spawnvpe
|
||||
- os.startfile
|
||||
shell:
|
||||
- os.system
|
||||
- os.popen
|
||||
- os.popen2
|
||||
- os.popen3
|
||||
- os.popen4
|
||||
- popen2.popen2
|
||||
- popen2.popen3
|
||||
- popen2.popen4
|
||||
- popen2.Popen3
|
||||
- popen2.Popen4
|
||||
- commands.getoutput
|
||||
- commands.getstatusoutput
|
||||
subprocess:
|
||||
- subprocess.Popen
|
||||
- subprocess.call
|
||||
- subprocess.check_call
|
||||
- subprocess.check_output
|
||||
- subprocess.run
|
||||
try_except_continue:
|
||||
check_typed_exception: false
|
||||
try_except_pass:
|
||||
check_typed_exception: false
|
||||
weak_cryptographic_key:
|
||||
weak_key_size_dsa_high: 1024
|
||||
weak_key_size_dsa_medium: 2048
|
||||
weak_key_size_ec_high: 160
|
||||
weak_key_size_ec_medium: 224
|
||||
weak_key_size_rsa_high: 1024
|
||||
weak_key_size_rsa_medium: 2048
|
||||
|
||||
52
.codeclimate.yml
Normal file
@@ -0,0 +1,52 @@
|
||||
version: "2" # required to adjust maintainability checks
|
||||
checks:
|
||||
argument-count:
|
||||
config:
|
||||
threshold: 8 # work on this later
|
||||
complex-logic:
|
||||
enabled: false # Disabled in favor of using Radon for this
|
||||
config:
|
||||
threshold: 4
|
||||
file-lines:
|
||||
enabled: false # enable after audio stuff...
|
||||
config:
|
||||
threshold: 2000 # I would set this lower if not for cogs as command containers.
|
||||
method-complexity:
|
||||
enabled: false # Disabled in favor of using Radon for this
|
||||
config:
|
||||
threshold: 5
|
||||
method-count:
|
||||
enabled: false # I would set this lower if not for cogs as command containers.
|
||||
config:
|
||||
threshold: 20
|
||||
method-lines:
|
||||
enabled: false
|
||||
config:
|
||||
threshold: 25 # I'm fine with long methods, cautious about the complexity of a single method.
|
||||
nested-control-flow:
|
||||
config:
|
||||
threshold: 6
|
||||
return-statements:
|
||||
config:
|
||||
threshold: 6
|
||||
similar-code:
|
||||
enabled: false
|
||||
config:
|
||||
threshold: # language-specific defaults. an override will affect all languages.
|
||||
identical-code:
|
||||
enabled: false
|
||||
config:
|
||||
threshold: # language-specific defaults. an override will affect all languages.
|
||||
plugins:
|
||||
bandit:
|
||||
enabled: false
|
||||
radon:
|
||||
enabled: false
|
||||
config:
|
||||
threshold: "D"
|
||||
duplication:
|
||||
enabled: false
|
||||
config:
|
||||
languages:
|
||||
python:
|
||||
python_version: 3
|
||||
4
.gitattributes
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
* text eol=lf
|
||||
|
||||
# binary file excludsions
|
||||
*.png binary
|
||||
17
.github/CODEOWNERS
vendored
@@ -1,6 +1,3 @@
|
||||
# Default
|
||||
* @Twentysix26
|
||||
|
||||
# Core
|
||||
redbot/core/bank.py @palmtree5
|
||||
redbot/core/checks.py @tekulvw
|
||||
@@ -25,15 +22,16 @@ redbot/core/utils/antispam.py @mikeshardmind
|
||||
redbot/core/utils/tunnel.py @mikeshardmind
|
||||
redbot/core/utils/caching.py @mikeshardmind
|
||||
redbot/core/utils/common_filters.py @mikeshardmind
|
||||
redbot/core/utils/dbtools.py @mikeshardmind
|
||||
|
||||
# Cogs
|
||||
redbot/cogs/admin/* @tekulvw
|
||||
redbot/cogs/alias/* @tekulvw
|
||||
redbot/cogs/audio/* @aikaterna
|
||||
redbot/cogs/audio/** @aikaterna @Drapersniper
|
||||
redbot/cogs/bank/* @tekulvw
|
||||
redbot/cogs/cleanup/* @palmtree5
|
||||
redbot/cogs/customcom/* @palmtree5
|
||||
redbot/cogs/downloader/* @tekulvw
|
||||
redbot/cogs/downloader/* @tekulvw @jack1142
|
||||
redbot/cogs/economy/* @palmtree5
|
||||
redbot/cogs/filter/* @palmtree5
|
||||
redbot/cogs/general/* @palmtree5
|
||||
@@ -49,12 +47,19 @@ redbot/cogs/warnings/* @palmtree5
|
||||
# Docs
|
||||
docs/* @tekulvw @palmtree5
|
||||
|
||||
# Tests
|
||||
tests/cogs/downloader/* @jack1142
|
||||
|
||||
# Setup, instance setup, and running the bot
|
||||
setup.py @tekulvw
|
||||
redbot/__init__.py @tekulvw
|
||||
redbot/__main__.py @tekulvw
|
||||
redbot/__main__.py @tekulvw @mikeshardmind
|
||||
redbot/setup.py @tekulvw
|
||||
|
||||
# Others
|
||||
.travis.yml @Kowlin
|
||||
crowdin.yml @Kowlin
|
||||
.github/workflows/* @Kowlin
|
||||
|
||||
# Excludes
|
||||
**/locales/* @ghost
|
||||
|
||||
3
.github/ISSUE_TEMPLATE/command_bug.md
vendored
@@ -1,6 +1,9 @@
|
||||
---
|
||||
name: Bug reports for commands
|
||||
about: For bugs that involve commands found within Red
|
||||
title: ''
|
||||
labels: 'Type: Bug'
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
|
||||
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
blank_issues_enabled: true
|
||||
contact_links:
|
||||
- name: Support question
|
||||
url: https://discord.gg/red
|
||||
about: For any questions regarding on how to operate and run Red.
|
||||
3
.github/ISSUE_TEMPLATE/feature_req.md
vendored
@@ -1,6 +1,9 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: For feature requests regarding Red itself.
|
||||
title: ''
|
||||
labels: 'Type: Feature'
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
|
||||
3
.github/ISSUE_TEMPLATE/other_bug.md
vendored
@@ -1,6 +1,9 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: For bugs that don't involve a command.
|
||||
title: ''
|
||||
labels: 'Type: Bug'
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
|
||||
26
.github/workflows/auto_labeler.yml
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
name: Auto Labeler
|
||||
on:
|
||||
issues:
|
||||
types: [opened]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Apply Triage Label
|
||||
uses: actions/github-script@0.4.0
|
||||
with:
|
||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||
script: |
|
||||
const is_status_label = (label) => label.name.startsWith('Status: ');
|
||||
if (context.payload.issue.labels.some(is_status_label)) {
|
||||
console.log('Issue already has Status label, skipping...');
|
||||
return;
|
||||
}
|
||||
github.issues.addLabels({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
labels: ['Status: Needs Triage']
|
||||
});
|
||||
26
.github/workflows/lint_python.yaml
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
name: Lint Python
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
repository_dispatch:
|
||||
types:
|
||||
- dispatched_test
|
||||
|
||||
env:
|
||||
ref: ${{ github.event.client_payload.ref || '' }}
|
||||
|
||||
jobs:
|
||||
lint_python:
|
||||
name: Lint Python
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
ref: ${{ env.ref }}
|
||||
- uses: actions/setup-python@v1
|
||||
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"
|
||||
name: Install Flake8
|
||||
- run: "python -m flake8 . --count --select=E9,F7,F82 --show-source"
|
||||
name: Flake8 Linting
|
||||
49
.github/workflows/publish_crowdin.yml
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
name: Publish to Crowdin
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 12 * * THU'
|
||||
workflow_dispatch:
|
||||
repository_dispatch:
|
||||
types: crowdin
|
||||
|
||||
env:
|
||||
CROWDIN_API_KEY: ${{ secrets.crowdin_token}}
|
||||
CROWDIN_PROJECT_ID: ${{ secrets.crowdin_identifier }}
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
if: github.repository == 'Cog-Creators/Red-DiscordBot'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: '3.8'
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
curl https://artifacts.crowdin.com/repo/GPG-KEY-crowdin | sudo apt-key add -
|
||||
echo "deb https://artifacts.crowdin.com/repo/deb/ /" | sudo tee -a /etc/apt/sources.list
|
||||
sudo apt-get update -qq
|
||||
sudo apt-get install -y crowdin
|
||||
pip install redgettext==3.1
|
||||
- name: Generate source files
|
||||
run: |
|
||||
make gettext
|
||||
- name: Upload source files
|
||||
run: |
|
||||
make upload_translations
|
||||
- name: Download translations
|
||||
run: |
|
||||
make download_translations
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v2
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
commit-message: Automated Crowdin downstream
|
||||
title: "[i18n] Automated Crowdin downstream"
|
||||
body: |
|
||||
This is an automated PR.
|
||||
Please ensure that there are no errors or invalid files are in the PR.
|
||||
labels: "Automated PR, Category: i18n, Changelog Entry: Skipped"
|
||||
branch: "automated/i18n"
|
||||
27
.github/workflows/publish_pypi.yml
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
name: Publish to PyPI
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "*"
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
if: github.repository == 'Cog-Creators/Red-DiscordBot'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: '3.8'
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install setuptools wheel twine
|
||||
- name: Build and publish
|
||||
env:
|
||||
TWINE_USERNAME: __token__
|
||||
TWINE_PASSWORD: ${{ secrets.pypi_token }}
|
||||
run: |
|
||||
python setup.py sdist bdist_wheel
|
||||
twine upload dist/*
|
||||
85
.github/workflows/tests.yml
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
name: Tests
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
repository_dispatch:
|
||||
types:
|
||||
- dispatched_test
|
||||
|
||||
env:
|
||||
ref: ${{ github.event.client_payload.ref || '' }}
|
||||
|
||||
jobs:
|
||||
tox:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python_version:
|
||||
- "3.8"
|
||||
tox_env:
|
||||
- py
|
||||
- style
|
||||
- docs
|
||||
include:
|
||||
- tox_env: py
|
||||
friendly_name: Tests
|
||||
- tox_env: style
|
||||
friendly_name: Style
|
||||
- tox_env: docs
|
||||
friendly_name: Docs
|
||||
fail-fast: false
|
||||
name: Tox - ${{ matrix.friendly_name }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
ref: ${{ env.ref }}
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: ${{ matrix.python_version }}
|
||||
- name: Install tox
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install tox
|
||||
- name: Tox test
|
||||
env:
|
||||
TOXENV: ${{ matrix.tox_env }}
|
||||
run: tox
|
||||
|
||||
tox-postgres:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
python_version:
|
||||
- "3.8"
|
||||
fail-fast: false
|
||||
name: Tox - Postgres
|
||||
services:
|
||||
postgresql:
|
||||
image: postgres:10
|
||||
ports:
|
||||
- 5432:5432
|
||||
env:
|
||||
POSTGRES_DB: red_db
|
||||
POSTGRES_PASSWORD: postgres
|
||||
POSTGRES_USER: postgres
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
ref: ${{ env.ref }}
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v1
|
||||
with:
|
||||
python-version: ${{ matrix.python_version }}
|
||||
- name: Install tox
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install tox
|
||||
- name: Tox test
|
||||
env:
|
||||
TOXENV: postgres
|
||||
PGDATABASE: red_db
|
||||
PGUSER: postgres
|
||||
PGPASSWORD: postgres
|
||||
PGPORT: 5432
|
||||
run: tox
|
||||
5
.gitignore
vendored
@@ -6,6 +6,7 @@
|
||||
!/tests/cogs/dataconverter/data/**/*.json
|
||||
Pipfile
|
||||
Pipfile.lock
|
||||
.directory
|
||||
|
||||
### JetBrains template
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
|
||||
@@ -57,6 +58,7 @@ parts/
|
||||
sdist/
|
||||
var/
|
||||
wheels/
|
||||
pip-wheel-metadata/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
@@ -136,3 +138,6 @@ ENV/
|
||||
|
||||
# pytest
|
||||
.pytest_cache/
|
||||
|
||||
# Pre-commit hooks
|
||||
/.pre-commit-config.yaml
|
||||
|
||||
@@ -7,11 +7,10 @@ build:
|
||||
image: latest
|
||||
|
||||
python:
|
||||
version: 3.7
|
||||
version: 3.8
|
||||
install:
|
||||
- requirements: docs/requirements.txt
|
||||
- method: pip
|
||||
path: .
|
||||
extra_requirements:
|
||||
- docs
|
||||
- mongo
|
||||
|
||||
25
.travis.yml
@@ -5,14 +5,10 @@ notifications:
|
||||
email: false
|
||||
|
||||
python:
|
||||
- 3.7.2
|
||||
- 3.8.1
|
||||
env:
|
||||
global:
|
||||
- PIPENV_IGNORE_VIRTUALENVS=1
|
||||
matrix:
|
||||
- TOXENV=py
|
||||
- TOXENV=docs
|
||||
- TOXENV=style
|
||||
|
||||
install:
|
||||
- pip install --upgrade pip tox
|
||||
@@ -22,13 +18,22 @@ script:
|
||||
|
||||
jobs:
|
||||
include:
|
||||
- env: TOXENV=py
|
||||
- env: TOXENV=docs
|
||||
- env: TOXENV=style
|
||||
- env: TOXENV=postgres
|
||||
services: postgresql
|
||||
addons:
|
||||
postgresql: "10"
|
||||
before_script:
|
||||
- psql -c 'create database red_db;' -U postgres
|
||||
# These jobs only occur on tag creation if the prior ones succeed
|
||||
- stage: PyPi Deployment
|
||||
if: tag IS present
|
||||
python: 3.7.2
|
||||
python: 3.8.1
|
||||
env:
|
||||
- DEPLOYING=true
|
||||
- TOXENV=py36
|
||||
- TOXENV=py38
|
||||
deploy:
|
||||
- provider: pypi
|
||||
distributions: sdist bdist_wheel
|
||||
@@ -40,11 +45,11 @@ jobs:
|
||||
repo: Cog-Creators/Red-DiscordBot
|
||||
tags: true
|
||||
- stage: Crowdin Deployment
|
||||
if: tag IS present
|
||||
python: 3.7.2
|
||||
if: tag IS present OR ENV(BUILD_CROWDIN)
|
||||
python: 3.8.1
|
||||
env:
|
||||
- DEPLOYING=true
|
||||
- TOXENV=py36
|
||||
- TOXENV=py38
|
||||
before_deploy:
|
||||
- curl https://artifacts.crowdin.com/repo/GPG-KEY-crowdin | sudo apt-key add -
|
||||
- echo "deb https://artifacts.crowdin.com/repo/deb/ /" | sudo tee -a /etc/apt/sources.list
|
||||
|
||||
@@ -29,9 +29,8 @@ Red is an open source project. This means that each and every one of the develop
|
||||
We love receiving contributions from our community. Any assistance you can provide with regards to bug fixes, feature enhancements, and documentation is more than welcome.
|
||||
|
||||
# 2. Ground Rules
|
||||
We've made a point to use [ZenHub](https://www.zenhub.com/) (a plugin for GitHub) as our main source of collaboration and coordination. Your experience contributing to Red will be greatly improved if you go get that plugin.
|
||||
1. Ensure cross compatibility for Windows, Mac OS and Linux.
|
||||
2. Ensure all Python features used in contributions exist and work in Python 3.7 and above.
|
||||
2. Ensure all Python features used in contributions exist and work in Python 3.8.1 and above.
|
||||
3. Create new tests for code you add or bugs you fix. It helps us help you by making sure we don't accidentally break anything :grinning:
|
||||
4. Create any issues for new features you'd like to implement and explain why this feature is useful to everyone and not just you personally.
|
||||
5. Don't add new cogs unless specifically given approval in an issue discussing said cog idea.
|
||||
@@ -53,7 +52,7 @@ Red's repository is configured to follow a particular development workflow, usin
|
||||
|
||||
### 4.1 Setting up your development environment
|
||||
The following requirements must be installed prior to setting up:
|
||||
- Python 3.7.0 or greater
|
||||
- Python 3.8.1 or greater
|
||||
- git
|
||||
- pip
|
||||
|
||||
@@ -79,10 +78,10 @@ If you're not on Windows, you should also have GNU make installed, and you can o
|
||||
**Note:** If you're comfortable with setting up virtual environments yourself and would rather do it manually, just run `pip install -Ur tools/dev-requirements.txt` after setting it up.
|
||||
|
||||
### 4.2 Testing
|
||||
We've recently started using [tox](https://github.com/tox-dev/tox) to run all of our tests. It's extremely simple to use, and if you followed the previous section correctly, it is already installed to your virtual environment.
|
||||
We're using [tox](https://github.com/tox-dev/tox) to run all of our tests. It's extremely simple to use, and if you followed the previous section correctly, it is already installed to your virtual environment.
|
||||
|
||||
Currently, tox does the following, creating its own virtual environments for each stage:
|
||||
- Runs all of our unit tests with [pytest](https://github.com/pytest-dev/pytest) on python 3.7 (test environment `py37`)
|
||||
- Runs all of our unit tests with [pytest](https://github.com/pytest-dev/pytest) on python 3.8 (test environment `py38`)
|
||||
- Ensures documentation builds without warnings, and all hyperlinks have a valid destination (test environment `docs`)
|
||||
- Ensures that the code meets our style guide with [black](https://github.com/ambv/black) (test environment `style`)
|
||||
|
||||
@@ -95,15 +94,19 @@ Your PR will not be merged until all of these tests pass.
|
||||
### 4.3 Style
|
||||
Our style checker of choice, [black](https://github.com/ambv/black), actually happens to be an auto-formatter. The checking functionality simply detects whether or not it would try to reformat something in your code, should you run the formatter on it. For this reason, we recommend using this tool as a formatter, regardless of any disagreements you might have with the style it enforces.
|
||||
|
||||
Use the command `black --help` to see how to use this tool. The full style guide is explained in detail on [black's GitHub repository](https://github.com/ambv/black). **There is one exception to this**, however, which is that we set the line length to 99, instead of black's default 88. When using `black` on the command line, simply use it like so: `black -l 99 -N <src>`.
|
||||
Use the command `black --help` to see how to use this tool. The full style guide is explained in detail on [black's GitHub repository](https://github.com/ambv/black). **There is one exception to this**, however, which is that we set the line length to 99, instead of black's default 88. This is already set in `pyproject.toml` configuration file in the repo so you can simply format code with Black like so: `black <src>`.
|
||||
|
||||
### 4.4 Make
|
||||
You may have noticed we have a `Makefile` and a `make.bat` in the top-level directory. For now, you can do three things with them:
|
||||
You may have noticed we have a `Makefile` and a `make.bat` in the top-level directory. For now, you can do a few things with them:
|
||||
1. `make reformat`: Reformat all python files in the project with Black
|
||||
2. `make stylecheck`: Check if any `.py` files in the project need reformatting
|
||||
3. `make newenv`: Set up a new virtual environment in the `.venv` subdirectory, and install Red and its dependencies. If one already exists, it is cleared out and replaced.
|
||||
4. `make syncenv`: Sync your environment with Red's latest dependencies.
|
||||
|
||||
The other make recipes are most likely for project maintainers rather than contributors.
|
||||
|
||||
You can specify the Python executable used in the make recipes with the `PYTHON` environment variable, e.g. `make PYTHON=/usr/bin/python3.8 newenv`.
|
||||
|
||||
### 4.5 Keeping your dependencies up to date
|
||||
Whenever you pull from upstream (V3/develop on the main repository) and you notice either of the files `setup.cfg` or `tools/dev-requirements.txt` have been changed, it can often mean some package dependencies have been updated, added or removed. To make sure you're testing and formatting with the most up-to-date versions of our dependencies, run `make syncenv`. You could also simply do `make newenv` to install them to a clean new virtual environment.
|
||||
|
||||
@@ -114,6 +117,10 @@ Whenever you pull from upstream (V3/develop on the main repository) and you noti
|
||||
3. If you like the changes and think the main Red project could use it:
|
||||
* Run tests with `tox` to ensure your code is up to scratch
|
||||
* Create a Pull Request on GitHub with your changes
|
||||
- If you are contributing a behavior change, please keep in mind that behavior changes
|
||||
are conditional on them being appropriate for the project's current goals.
|
||||
If you would like to reduce the risk of putting in effort for something we aren't
|
||||
going to use, open an issue discussing it first.
|
||||
|
||||
### 4.7 How To Report A Bug
|
||||
Please see our **ISSUES.MD** for more information.
|
||||
@@ -137,7 +144,7 @@ Pull requests are evaluated by their quality and how effectively they solve thei
|
||||
|
||||
1. A pull request is submitted
|
||||
2. Core team members will review and test the pull request (usually within a week)
|
||||
3. After a majority of the core team approves your pull request:
|
||||
3. After a member of the core team approves your pull request:
|
||||
* If your pull request is considered an improvement or enhancement the project owner will have 1 day to veto or approve your pull request.
|
||||
* If your pull request is considered a new feature the project owner will have 1 week to veto or approve your pull request.
|
||||
4. If any feedback is given we expect a response within 1 week or we may decide to close the PR.
|
||||
9
LICENSE
@@ -632,7 +632,8 @@ state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
Red - A fully customizable Discord bot
|
||||
Copyright (C) 2015-2019 Twentysix
|
||||
Copyright (C) 2017-2020 Cog Creators
|
||||
Copyright (C) 2015-2017 Twentysix
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -652,7 +653,8 @@ Also add information on how to contact you by electronic and paper mail.
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
Red-DiscordBot Copyright (C) 2015-2019 Twentysix
|
||||
Red-DiscordBot Copyright (C) 2017-2020 Cog Creators
|
||||
Red-DiscordBot Copyright (C) 2015-2017 Twentysix
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
@@ -700,3 +702,6 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
This project vendors discord.ext.menus package (https://github.com/Rapptz/discord-ext-menus) made by Danny Y. (Rapptz) which is distributed under MIT License.
|
||||
Copy of this license can be found in discord-ext-menus.LICENSE file in redbot/vendored folder of this repository.
|
||||
|
||||
17
Makefile
@@ -1,25 +1,30 @@
|
||||
PYTHON ?= python3.8
|
||||
|
||||
ROOT_DIR:=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST))))
|
||||
|
||||
# Python Code Style
|
||||
reformat:
|
||||
black -l 99 `git ls-files "*.py"`
|
||||
$(PYTHON) -m black $(ROOT_DIR)
|
||||
stylecheck:
|
||||
black --check -l 99 `git ls-files "*.py"`
|
||||
$(PYTHON) -m black --check $(ROOT_DIR)
|
||||
stylediff:
|
||||
$(PYTHON) -m black --check --diff $(ROOT_DIR)
|
||||
|
||||
# Translations
|
||||
gettext:
|
||||
redgettext --command-docstrings --verbose --recursive redbot --exclude-files "redbot/pytest/**/*"
|
||||
$(PYTHON) -m redgettext --command-docstrings --verbose --recursive redbot --exclude-files "redbot/pytest/**/*"
|
||||
upload_translations:
|
||||
$(MAKE) gettext
|
||||
crowdin upload sources
|
||||
download_translations:
|
||||
crowdin download
|
||||
|
||||
# Dependencies
|
||||
bumpdeps:
|
||||
python tools/bumpdeps.py
|
||||
$(PYTHON) tools/bumpdeps.py
|
||||
|
||||
# Development environment
|
||||
newenv:
|
||||
python3.7 -m venv --clear .venv
|
||||
$(PYTHON) -m venv --clear .venv
|
||||
.venv/bin/pip install -U pip setuptools
|
||||
$(MAKE) syncenv
|
||||
syncenv:
|
||||
|
||||
22
README.md
@@ -16,7 +16,7 @@
|
||||
<img src="https://img.shields.io/badge/Support-Red!-yellow.svg" alt="Support Red on Patreon!">
|
||||
</a>
|
||||
<a href="https://www.python.org/downloads/">
|
||||
<img src="https://img.shields.io/badge/Made%20With-Python%203.7-blue.svg?style=for-the-badge" alt="Made with Python 3.7">
|
||||
<img src="https://img.shields.io/badge/Made%20With-Python%203.8-blue.svg?style=for-the-badge" alt="Made with Python 3.8">
|
||||
</a>
|
||||
<a href="https://crowdin.com/project/red-discordbot">
|
||||
<img src="https://d322cqt584bo4o.cloudfront.net/red-discordbot/localized.svg" alt="Localized with Crowdin">
|
||||
@@ -26,8 +26,8 @@
|
||||
</a>
|
||||
</p>
|
||||
<p align="center">
|
||||
<a href="https://travis-ci.com/Cog-Creators/Red-DiscordBot">
|
||||
<img src="https://api.travis-ci.com/Cog-Creators/Red-DiscordBot.svg?branch=V3/develop" alt="Travis CI">
|
||||
<a href="https://github.com/Cog-Creators/Red-DiscordBot/actions">
|
||||
<img src="https://github.com/Cog-Creators/Red-DiscordBot/workflows/Tests/badge.svg" alt="GitHub Actions">
|
||||
</a>
|
||||
<a href="http://red-discordbot.readthedocs.io/en/stable/?badge=stable">
|
||||
<img src="https://readthedocs.org/projects/red-discordbot/badge/?version=stable" alt="Red on readthedocs.org">
|
||||
@@ -57,19 +57,19 @@
|
||||
# Overview
|
||||
|
||||
Red is a fully modular bot – meaning all features and commands can be enabled/disabled to your
|
||||
liking, making it completely customizable. This is also a *self-hosted bot* – meaning you will need
|
||||
liking, making it completely customizable. This is a *self-hosted bot* – meaning you will need
|
||||
to host and maintain your own instance. You can turn Red into an admin bot, music bot, trivia bot,
|
||||
new best friend or all of these together!
|
||||
|
||||
[Installation](#installation) is easy, and you do **NOT** need to know anything about coding! Aside
|
||||
from installation and updating, every part of the bot can be controlled from within Discord.
|
||||
from installing and updating, every part of the bot can be controlled from within Discord.
|
||||
|
||||
**The default set of modules includes and is not limited to:**
|
||||
|
||||
- Moderation features (kick/ban/softban/hackban, mod-log, filter, chat cleanup)
|
||||
- Trivia (lists are included and can be easily added)
|
||||
- Music features (YouTube, SoundCloud, local files, playlists, queues)
|
||||
- Stream alerts (Twitch, Youtube, Mixer, Hitbox, Picarto)
|
||||
- Stream alerts (Twitch, Youtube, Hitbox, Picarto)
|
||||
- Bank (slot machine, user credits)
|
||||
- Custom commands
|
||||
- Imgur/gif search
|
||||
@@ -85,12 +85,7 @@ community of cog repositories.**
|
||||
|
||||
- [Windows](https://red-discordbot.readthedocs.io/en/stable/install_windows.html)
|
||||
- [MacOS](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html)
|
||||
- [Ubuntu](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html)
|
||||
- [Debian Stretch](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html)
|
||||
- [CentOS 7](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html)
|
||||
- [Arch Linux](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html)
|
||||
- [Raspbian Stretch](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html)
|
||||
|
||||
- [Most major linux distributions](https://red-discordbot.readthedocs.io/en/stable/install_linux_mac.html)
|
||||
|
||||
If after reading the guide you are still experiencing issues, feel free to join the
|
||||
[Official Discord Server](https://discord.gg/red) and ask in the **#support** channel for help.
|
||||
@@ -131,3 +126,6 @@ Red is named after the main character of "Transistor", a video game by
|
||||
|
||||
Artwork created by [Sinlaire](https://sinlaire.deviantart.com/) on Deviant Art for the Red Discord
|
||||
Bot Project.
|
||||
|
||||
This project vendors [discord.ext.menus](https://github.com/Rapptz/discord-ext-menus) package made by Danny Y. (Rapptz) which is distributed under MIT License.
|
||||
Copy of this license can be found in [discord-ext-menus.LICENSE](redbot/vendored/discord-ext-menus.LICENSE) file in [redbot/vendored](redbot/vendored) folder of this repository.
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
api_key_env: CROWDIN_API_KEY
|
||||
project_identifier_env: CROWDIN_PROJECT_ID
|
||||
base_path: ./redbot/
|
||||
preserve_hierarchy: true
|
||||
files:
|
||||
- source: cogs/**/messages.pot
|
||||
translation: /%original_path%/%locale%.po
|
||||
|
||||
BIN
docs/.resources/admin/public_bot.png
Normal file
|
After Width: | Height: | Size: 334 KiB |
BIN
docs/.resources/alias/example-1.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
docs/.resources/alias/example-2.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
docs/.resources/code-grant.png
Normal file
|
After Width: | Height: | Size: 255 KiB |
BIN
docs/.resources/instances-ssh-button.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
docs/.resources/red-console.png
Normal file
|
After Width: | Height: | Size: 57 KiB |
BIN
docs/.resources/ssh-output.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
@@ -3,7 +3,7 @@
|
||||
|
||||
# You can set these variables from the command line.
|
||||
SPHINXOPTS =
|
||||
SPHINXBUILD = python -msphinx
|
||||
SPHINXBUILD = python3 -msphinx
|
||||
SPHINXPROJ = Red-DiscordBot
|
||||
SOURCEDIR = .
|
||||
BUILDDIR = _build
|
||||
@@ -17,4 +17,4 @@ help:
|
||||
# Catch-all target: route all unknown targets to Sphinx using the new
|
||||
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
||||
%: Makefile
|
||||
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
||||
|
||||
18
docs/_templates/layout.html
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
{% extends '!layout.html' %}
|
||||
{% block document %}
|
||||
{% if version_slug == 'latest' %}
|
||||
<div class="admonition warning">
|
||||
<p class="first admonition-title">Warning</p>
|
||||
<p class="last">
|
||||
This document is for Red's development version, which can be significantly different from previous releases.
|
||||
If you're a regular user, you should read the <a href="{{ dict(versions)['stable'] }}">Red documentation for the current stable release</a>.
|
||||
</p>
|
||||
</div>
|
||||
{% endif %}
|
||||
{{ super() }}
|
||||
<a href="https://github.com/Cog-Creators/Red-DiscordBot">
|
||||
<img style="position: absolute; top: 0; right: 0; border: 0;"
|
||||
src="https://github.blog/wp-content/uploads/2008/12/forkme_right_darkblue_121621.png?resize=149%2C149"
|
||||
class="attachment-full size-full" alt="Fork me on GitHub">
|
||||
</a>
|
||||
{% endblock %}
|
||||
39
docs/about_venv.rst
Normal file
@@ -0,0 +1,39 @@
|
||||
.. _about-venvs:
|
||||
|
||||
==========================
|
||||
About Virtual Environments
|
||||
==========================
|
||||
Creating a virtual environment is really easy and usually prevents many common installation
|
||||
problems.
|
||||
|
||||
**What Are Virtual Environments For?**
|
||||
|
||||
Virtual environments allow you to isolate Red's library dependencies, cog dependencies and python
|
||||
binaries from the rest of your system. There is no performance overhead to using virtual environment
|
||||
and it saves you from a lot of troubles during setup. It also makes sure Red and its dependencies
|
||||
are installed to a predictable location which makes uninstalling Red as simple as removing a single folder,
|
||||
without worrying about losing your data or other things on your system becoming broken.
|
||||
|
||||
|
||||
--------------------------------------------
|
||||
Virtual Environments with Multiple Instances
|
||||
--------------------------------------------
|
||||
If you are running multiple instances of Red on the same machine, you have the option of either
|
||||
using the same virtual environment for all of them, or creating separate ones.
|
||||
|
||||
.. note::
|
||||
|
||||
This only applies for multiple instances of V3. If you are running a V2 instance as well,
|
||||
you **must** use separate virtual environments.
|
||||
|
||||
The advantages of using a *single* virtual environment for all of your V3 instances are:
|
||||
|
||||
- When updating Red, you will only need to update it once for all instances (however you will still need to restart all instances for the changes to take effect)
|
||||
- It will save space on your hard drive
|
||||
|
||||
On the other hand, you may wish to update each of your instances individually.
|
||||
|
||||
.. important::
|
||||
|
||||
Windows users with multiple instances should create *separate* virtual environments, as
|
||||
updating multiple running instances at once is likely to cause errors.
|
||||
44
docs/autostart_pm2.rst
Normal file
@@ -0,0 +1,44 @@
|
||||
.. pm2 service guide
|
||||
|
||||
==============================================
|
||||
Setting up auto-restart using pm2 on Linux
|
||||
==============================================
|
||||
|
||||
.. note:: This guide is for setting up PM2 on a Linux environment. This guide assumes that you already have a working Red instance.
|
||||
|
||||
--------------
|
||||
Installing PM2
|
||||
--------------
|
||||
|
||||
Start by installing Node.JS and NPM via your favorite package distributor. From there run the following command:
|
||||
|
||||
:code:`npm install pm2 -g`
|
||||
|
||||
After PM2 is installed, run the following command to enable your Red instance to be managed by PM2. Replace the brackets with the required information.
|
||||
You can add additional Red based arguments after the instance, such as :code:`--dev`.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
pm2 start redbot --name "<Insert a name here>" --interpreter "<Location to your Python Interpreter>" --interpreter-args "-O" -- <Red Instance> --no-prompt
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
Arguments to replace.
|
||||
|
||||
<Insert a name here>
|
||||
A name to identify the bot within pm2, this is not your Red instance.
|
||||
|
||||
<Location to your Python Interpreter>
|
||||
The location of your Python interpreter, to find out where that is use the following command inside activated venv:
|
||||
which python
|
||||
|
||||
<Red Instance>
|
||||
The name of your Red instance.
|
||||
|
||||
------------------------------
|
||||
Ensuring that PM2 stays online
|
||||
------------------------------
|
||||
|
||||
To make sure that PM2 stays online and persistence between machine restarts, run the following commands:
|
||||
|
||||
:code:`pm2 save` & :code:`pm2 startup`
|
||||
@@ -1,4 +1,4 @@
|
||||
.. systemd service guide
|
||||
.. _systemd-service-guide:
|
||||
|
||||
==============================================
|
||||
Setting up auto-restart using systemd on Linux
|
||||
@@ -8,20 +8,42 @@ Setting up auto-restart using systemd on Linux
|
||||
Creating the service file
|
||||
-------------------------
|
||||
|
||||
Create the new service file:
|
||||
In order to create the service file, you will first need to know two things, your Linux :code:`username` and your Python :code:`path`
|
||||
|
||||
First, your Linux :code:`username` can be fetched with the following command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
whoami
|
||||
|
||||
Next, your python :code:`path` can be fetched with the following commands:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
# If redbot is installed in a venv
|
||||
source ~/redenv/bin/activate
|
||||
which python
|
||||
|
||||
# If redbot is installed in a pyenv virtualenv
|
||||
pyenv shell <virtualenv_name>
|
||||
pyenv which python
|
||||
|
||||
Then create the new service file:
|
||||
|
||||
:code:`sudo -e /etc/systemd/system/red@.service`
|
||||
|
||||
Paste the following and replace all instances of :code:`username` with the username your bot is running under (hopefully not root):
|
||||
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
|
||||
|
||||
[Unit]
|
||||
Description=%I redbot
|
||||
After=multi-user.target
|
||||
After=network-online.target
|
||||
Wants=network-online.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/home/username/.local/bin/redbot %I --no-prompt
|
||||
ExecStart=path -O -m redbot %I --no-prompt
|
||||
User=username
|
||||
Group=username
|
||||
Type=idle
|
||||
@@ -59,4 +81,4 @@ type the following command in the terminal, still by adding the instance name af
|
||||
|
||||
To view Red’s log, you can acccess through journalctl:
|
||||
|
||||
:code:`sudo journalctl -u red@instancename`
|
||||
:code:`sudo journalctl -eu red@instancename`
|
||||
|
||||
@@ -110,7 +110,7 @@ Downloader
|
||||
* ``[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 :doc:`framework_downloader`. (`#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
|
||||
|
||||
565
docs/changelog_3_2_0.rst
Normal file
@@ -0,0 +1,565 @@
|
||||
.. 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>`_)
|
||||
910
docs/changelog_3_3_0.rst
Normal file
@@ -0,0 +1,910 @@
|
||||
.. 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 overriden 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.
|
||||
157
docs/changelog_3_4_0.rst
Normal file
@@ -0,0 +1,157 @@
|
||||
.. 3.4.x Changelogs
|
||||
|
||||
Redbot 3.4.0 (2020-08-18)
|
||||
=========================
|
||||
|
||||
| Thanks to all these amazing people that contributed to this release:
|
||||
| :ghuser:`Dav-Git`, :ghuser:`DevilXD`, :ghuser:`douglas-cpp`, :ghuser:`Drapersniper`, :ghuser:`flaree`, :ghuser:`jack1142`, :ghuser:`kablekompany`, :ghuser:`Kowlin`, :ghuser:`maxbooiii`, :ghuser:`MeatyChunks`, :ghuser:`mikeshardmind`, :ghuser:`NeuroAssassin`, :ghuser:`PredaaA`, :ghuser:`Predeactor`, :ghuser:`retke`, :ghuser:`SharkyTheKing`, :ghuser:`thisisjvgrace`, :ghuser:`Tinonb`, :ghuser:`TrustyJAID`, :ghuser:`Twentysix26`, :ghuser:`Vexed01`, :ghuser:`zephyrkul`
|
||||
|
|
||||
| **Read before updating**:
|
||||
| 1. Red 3.4 comes with support for data deletion requests. Bot owners should read `red_core_data_statement` to ensure they know what information about their users is stored by the bot.
|
||||
| 2. Debian Stretch, Fedora 30 and lower, and OpenSUSE Leap 15.0 and lower are no longer supported as they have already reached end of life.
|
||||
| 3. There's been a change in behavior of ``[p]tempban``. Look at `Mod changelog <important-340-1>` for full details.
|
||||
| 4. There's been a change in behavior of announcements in Admin cog. Look at `Admin changelog <important-340-2>` for full details.
|
||||
| 5. Red 3.4 comes with breaking changes for cog developers. Look at `Developer changelog <important-340-3>` for full details.
|
||||
|
||||
End-user changelog
|
||||
------------------
|
||||
|
||||
Core Bot
|
||||
********
|
||||
|
||||
- Added per-guild cog disabling (:issue:`4043`, :issue:`3945`)
|
||||
|
||||
- Bot owners can set the default state for a cog using ``[p]command defaultdisablecog`` and ``[p]command defaultenablecog`` commands
|
||||
- Guild owners can enable/disable cogs for their guild using ``[p]command disablecog`` and ``[p]command enablecog`` commands
|
||||
- Cogs disabled in the guild can be listed with ``[p]command listdisabledcogs``
|
||||
|
||||
- Added support for data deletion requests; see `red_core_data_statement` for more information (:issue:`4045`)
|
||||
- Red now logs clearer error if it can't find package to load in any cog path during bot startup (:issue:`4079`)
|
||||
- ``[p]licenseinfo`` now has a 3 minute cooldown to prevent a single user from spamming channel by using it (:issue:`4110`)
|
||||
- Added ``[p]helpset showsettings`` command (:issue:`4013`, :issue:`4022`)
|
||||
- Updated Red's emoji usage to ensure consistent rendering accross different devices (:issue:`4106`, :issue:`4105`, :issue:`4127`)
|
||||
- Whitelist and blacklist are now called allowlist and blocklist. Old names have been left as aliases (:issue:`4138`)
|
||||
|
||||
.. _important-340-2:
|
||||
|
||||
Admin
|
||||
*****
|
||||
|
||||
- ``[p]announce`` will now only send announcements to guilds that have explicitly configured text channel to send announcements to using ``[p]announceset channel`` command (:issue:`4088`, :issue:`4089`)
|
||||
|
||||
Downloader
|
||||
**********
|
||||
|
||||
- ``[p]cog info`` command now shows end user data statement made by the cog creator (:issue:`4169`)
|
||||
- ``[p]cog update`` command will now notify the user if cog's end user data statement has changed since last update (:issue:`4169`)
|
||||
|
||||
.. _important-340-1:
|
||||
|
||||
Mod
|
||||
***
|
||||
|
||||
- ``[p]tempban`` now respects default days setting (``[p]modset defaultdays``) (:issue:`3993`)
|
||||
- Users can now set mention spam triggers which will warn or kick the user. See ``[p]modset mentionspam`` for more information (:issue:`3786`, :issue:`4038`)
|
||||
- ``[p]mute voice`` and ``[p]unmute voice`` now take action instantly if bot has Move Members permission (:issue:`4064`)
|
||||
- Added typing to ``[p](un)mute guild`` to indicate that mute is being processed (:issue:`4066`, :issue:`4172`)
|
||||
|
||||
ModLog
|
||||
******
|
||||
|
||||
- Added timestamp to text version of ``[p]casesfor`` and ``[p]case`` commands (:issue:`4118`, :issue:`4137`)
|
||||
|
||||
Streams
|
||||
*******
|
||||
|
||||
- Stream alerts will no longer make roles temporarily mentionable if bot has "Mention @everyone, @here, and All Roles" permission in the channel (:issue:`4182`)
|
||||
- Mixer service has been closed and for that reason we've removed support for it from the cog (:issue:`4072`)
|
||||
- Hitbox commands have been renamed to smashcast (:issue:`4161`)
|
||||
- Improve error messages for invalid channel names/IDs (:issue:`4147`, :issue:`4148`)
|
||||
|
||||
Trivia Lists
|
||||
************
|
||||
|
||||
- Added ``whosthatpokemon2`` trivia containing Pokémons from 2nd generation (:issue:`4102`)
|
||||
- Added ``whosthatpokemon3`` trivia containing Pokémons from 3rd generation (:issue:`4141`)
|
||||
|
||||
.. _important-340-3:
|
||||
|
||||
Developer changelog
|
||||
-------------------
|
||||
|
||||
| **Important:**
|
||||
| 1. Red now offers cog disabling API, which should be respected by 3rd-party cogs in guild-related actions happening outside of command's context. See the `Core Bot changelog below <important-dev-340-1>` for more information.
|
||||
| 2. Red now provides data request API, which should be supported by all 3rd-party cogs. See the changelog entries in the `Core Bot changelog below <important-dev-340-1>` for more information.
|
||||
|
||||
Breaking changes
|
||||
****************
|
||||
|
||||
- By default, none of the ``.send()`` methods mention roles or ``@everyone/@here`` (:issue:`3845`)
|
||||
|
||||
- see `discord.AllowedMentions` and ``allowed_mentions`` kwarg of ``.send()`` methods, if your cog requires to mention roles or ``@everyone/@here``
|
||||
|
||||
- `Context.maybe_send_embed()` now supresses all mentions, including user mentions (:issue:`4192`)
|
||||
- The default value of the ``filter`` keyword argument has been changed to ``None`` (:issue:`3845`)
|
||||
- Cog package names (i.e. name of the folder the cog is in and the name used when loading the cog) now have to be `valid Python identifiers <https://docs.python.org/3/reference/lexical_analysis.html#identifiers>`_ (:issue:`3605`, :issue:`3679`)
|
||||
- Method/attribute names starting with ``red_`` or being in the form of ``__red_*__`` are now reserved. See `version_guarantees` for more information (:issue:`4085`)
|
||||
- `humanize_list()` no longer raises `IndexError` for empty sequences (:issue:`2982`)
|
||||
- Removed things past deprecation time: (:issue:`4163`)
|
||||
|
||||
- ``redbot.core.commands.APIToken``
|
||||
- ``loop`` kwarg from `bounded_gather_iter()`, `bounded_gather()`, and `start_adding_reactions()`
|
||||
|
||||
.. _important-dev-340-1:
|
||||
|
||||
Core Bot
|
||||
********
|
||||
|
||||
- Added cog disabling API (:issue:`4043`, :issue:`3945`)
|
||||
|
||||
- New methods added: `bot.cog_disabled_in_guild() <RedBase.cog_disabled_in_guild()>`, `bot.cog_disabled_in_guild_raw() <RedBase.cog_disabled_in_guild_raw()>`
|
||||
- Cog disabling is automatically applied for commands and only needs to be done manually for things like event listeners; see `guidelines-for-cog-creators` for more information
|
||||
|
||||
- Added data request API (:issue:`4045`, :issue:`4169`)
|
||||
|
||||
- New special methods added to `commands.Cog`: `red_get_data_for_user()` (documented provisionally), `red_delete_data_for_user()`
|
||||
- New special module level variable added: ``__red_end_user_data_statement__``
|
||||
- These methods and variables should be added by all cogs according to their documentation; see `guidelines-for-cog-creators` for more information
|
||||
- New ``info.json`` key added: ``end_user_data_statement``; see `Info.json format documentation <info-json-format>` for more information
|
||||
|
||||
- Added `bot.message_eligible_as_command() <RedBase.message_eligible_as_command()>` utility method which can be used to determine if a message may be responded to as a command (:issue:`4077`)
|
||||
- Added a provisional API for replacing the help formatter. See `documentation <framework-commands-help>` for more details (:issue:`4011`)
|
||||
- `bot.ignored_channel_or_guild() <RedBase.ignored_channel_or_guild()>` now accepts `discord.Message` objects (:issue:`4077`)
|
||||
- `commands.NoParseOptional <NoParseOptional>` is no longer provisional and is now fully supported part of API (:issue:`4142`)
|
||||
- Red no longer fails to run subcommands of a command group allowed or denied by permission hook (:issue:`3956`)
|
||||
- Autohelp in group commands is now sent *after* invoking the group, which allows before invoke hooks to prevent autohelp from getting triggered (:issue:`4129`)
|
||||
- RPC functionality no longer makes Red hang for a minute on shutdown (:issue:`4134`, :issue:`4143`)
|
||||
|
||||
Vendored packages
|
||||
*****************
|
||||
|
||||
- Updated ``discord.ext.menus`` vendor (:issue:`4167`)
|
||||
|
||||
Utility Functions
|
||||
*****************
|
||||
|
||||
- `humanize_list()` now accepts ``locale`` and ``style`` keyword arguments. See its documentation for more information (:issue:`2982`)
|
||||
- `humanize_list()` is now properly localized (:issue:`2906`, :issue:`2982`)
|
||||
- `humanize_list()` now accepts empty sequences (:issue:`2982`)
|
||||
|
||||
|
||||
Documentation changes
|
||||
---------------------
|
||||
|
||||
- Removed install instructions for Debian Stretch (:issue:`4099`)
|
||||
- Added admin user guide (:issue:`3081`)
|
||||
- Added alias user guide (:issue:`3084`)
|
||||
- Added bank user guide (:issue:`4149`)
|
||||
|
||||
|
||||
Miscellaneous
|
||||
-------------
|
||||
|
||||
- Updated features list in ``[p]serverinfo`` with the latest changes from Discord (:issue:`4116`)
|
||||
- Simple version of ``[p]serverinfo`` now shows info about more detailed ``[p]serverinfo 1`` (:issue:`4121`)
|
||||
- ``[p]set nickname``, ``[p]set serverprefix``, ``[p]streamalert``, and ``[p]streamset`` commands now can be run by users with permissions related to the actions they're making (:issue:`4109`)
|
||||
- `bordered()` now uses ``+`` for corners if keyword argument ``ascii_border`` is set to `True` (:issue:`4097`)
|
||||
- Fixed timestamp storage in few places in Red (:issue:`4017`)
|
||||
@@ -1,9 +0,0 @@
|
||||
.. Downloader Cog Reference
|
||||
|
||||
Downloader Cog Reference
|
||||
========================
|
||||
|
||||
.. automodule:: redbot.cogs.downloader
|
||||
|
||||
.. autoclass:: redbot.cogs.downloader.downloader.Downloader
|
||||
:members:
|
||||
435
docs/cog_guides/admin.rst
Normal file
@@ -0,0 +1,435 @@
|
||||
.. _admin:
|
||||
|
||||
=====
|
||||
Admin
|
||||
=====
|
||||
|
||||
This is the cog guide for the admin cog. You will
|
||||
find detailed docs about usage and commands.
|
||||
|
||||
``[p]`` is considered as your prefix.
|
||||
|
||||
.. note:: To use this cog, load it by typing this::
|
||||
|
||||
[p]load admin
|
||||
|
||||
.. _admin-usage:
|
||||
|
||||
-----
|
||||
Usage
|
||||
-----
|
||||
|
||||
This cog will provide tools for server admins and bot owners.
|
||||
|
||||
It can add or remove a role to a member, edit one or make some available
|
||||
for members so they can self-assign them as they wish.
|
||||
|
||||
It also provides tools for the bot owner such as server locking (once enabled,
|
||||
the bot will instantly leave new servers she joins) and announcements, which
|
||||
will send something in all the servers of the bot.
|
||||
|
||||
.. _admin-commands:
|
||||
|
||||
--------
|
||||
Commands
|
||||
--------
|
||||
|
||||
Here's a list of all commands available for this cog.
|
||||
|
||||
.. _admin-command-selfrole:
|
||||
|
||||
^^^^^^^^
|
||||
selfrole
|
||||
^^^^^^^^
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]selfrole
|
||||
|
||||
**Description**
|
||||
|
||||
Add or remove roles to yourself. Those roles must have been configured as user
|
||||
settable by admins using the :ref:`selfroleset command
|
||||
<admin-command-selfroleset>`.
|
||||
|
||||
.. _admin-command-selfrole-add:
|
||||
|
||||
""""""""""""
|
||||
selfrole add
|
||||
""""""""""""
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]selfrole add <selfrole>
|
||||
|
||||
**Description**
|
||||
|
||||
Add a role to yourself. It must have been configured as user settable
|
||||
by admins using the :ref:`selfroleset command <admin-command-selfroleset>`.
|
||||
|
||||
**Arguments**
|
||||
|
||||
* ``<selfrole>``: The role you want to attribute to yourself. |role-input|
|
||||
|
||||
.. _admin-command-selfrole-remove:
|
||||
|
||||
"""""""""""""""
|
||||
selfrole remove
|
||||
"""""""""""""""
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]selfrole remove <selfrole>
|
||||
|
||||
**Description**
|
||||
|
||||
Remove a role from yourself. It must have been configured as user settable
|
||||
by admins using the :ref:`selfroleset command <admin-command-selfroleset>`.
|
||||
|
||||
**Arguments**
|
||||
|
||||
* ``<selfrole>``: The role you want to remove from yourself. |role-input|
|
||||
|
||||
|
||||
.. _admin-command-selfrole-list:
|
||||
|
||||
"""""""""""""
|
||||
selfrole list
|
||||
"""""""""""""
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]selfrole list
|
||||
|
||||
**Description**
|
||||
|
||||
List all of the available roles you can assign to yourself.
|
||||
|
||||
.. _admin-command-selfroleset:
|
||||
|
||||
^^^^^^^^^^^
|
||||
selfroleset
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. note:: |admin-lock| This is also usable by the members with the
|
||||
``Manage roles`` permission.
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]selfroleset
|
||||
|
||||
**Description**
|
||||
|
||||
Define the list of user settable roles. Those roles will be available to any
|
||||
member using the :ref:`selfrole command <admin-command-selfrole>`.
|
||||
|
||||
.. _admin-command-selfroleset-add:
|
||||
|
||||
"""""""""""""""
|
||||
selfroleset add
|
||||
"""""""""""""""
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]selfroleset add <role>
|
||||
|
||||
**Description**
|
||||
|
||||
Add a role to the list of selfroles.
|
||||
|
||||
.. warning:: Members will be able to assign themselves the role.
|
||||
Make sure it doesn't give extra perms or anything that can break
|
||||
your server's security.
|
||||
|
||||
**Arguments**
|
||||
|
||||
* ``<role>``: The role to add to the list. |role-input|
|
||||
|
||||
.. _admin-command-selfroleset-remove:
|
||||
|
||||
""""""""""""""""""
|
||||
selfroleset remove
|
||||
""""""""""""""""""
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]selfroleset remove <role>
|
||||
|
||||
**Description**
|
||||
|
||||
Removes a role from the list of selfroles.
|
||||
|
||||
**Arguments**
|
||||
|
||||
* ``<role>``: The role to remove from the list. |role-input|
|
||||
|
||||
.. _admin-command-addrole:
|
||||
|
||||
^^^^^^^
|
||||
addrole
|
||||
^^^^^^^
|
||||
|
||||
.. note:: |admin-lock| This is also usable by the members with the ``Manage
|
||||
roles`` permission.
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]addrole <rolename> [user]
|
||||
|
||||
**Description**
|
||||
|
||||
Adds a role to a member. If ``user`` is not given, it will be considered
|
||||
as yourself, the command author.
|
||||
|
||||
**Arguments**
|
||||
|
||||
* ``<role>``: The role to add to the member. |role-input-quotes|
|
||||
|
||||
* ``[user]``: The member you want to add the role to. Defaults to the
|
||||
command author. |member-input|
|
||||
|
||||
.. _admin-command-removerole:
|
||||
|
||||
^^^^^^^^^^
|
||||
removerole
|
||||
^^^^^^^^^^
|
||||
|
||||
.. note:: |admin-lock| This is also usable by the members with the
|
||||
``Manage roles`` permission.
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]removerole <rolename> [user]
|
||||
|
||||
**Description**
|
||||
|
||||
Removes a role from a member. If ``user`` is not given, it will be considered
|
||||
as yourself, the command author.
|
||||
|
||||
**Arguments**
|
||||
|
||||
* ``<role>``: The role to remove. |role-input-quotes|
|
||||
|
||||
* ``[user]``: The member to remove the role from. |member-input| Defaults
|
||||
to the command author.
|
||||
|
||||
.. _admin-command-editrole:
|
||||
|
||||
^^^^^^^^
|
||||
editrole
|
||||
^^^^^^^^
|
||||
|
||||
.. note:: |admin-lock|
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]editrole
|
||||
|
||||
**Description**
|
||||
|
||||
Edits the settings of a role.
|
||||
|
||||
.. _admin-command-editrole-name:
|
||||
|
||||
"""""""""""""
|
||||
editrole name
|
||||
"""""""""""""
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]editrole name <role> <name>
|
||||
|
||||
**Description**
|
||||
|
||||
Edits the name of a role.
|
||||
|
||||
**Arguments**
|
||||
|
||||
* ``<role>``: The role name to edit. |role-input-quotes|
|
||||
|
||||
* ``<name>``: The new role name. If it has spaces, you must use quotes.
|
||||
|
||||
.. _admin-command-editrole-color:
|
||||
|
||||
""""""""""""""
|
||||
editrole color
|
||||
""""""""""""""
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]editrole color <role> <color>
|
||||
|
||||
**Description**
|
||||
|
||||
Edits the color of a role.
|
||||
|
||||
**Arguments**
|
||||
|
||||
* ``<role>``: The role name to edit. |role-input-quotes|
|
||||
|
||||
* ``<color>``: The new color to assign. |color-input|
|
||||
|
||||
**Examples**
|
||||
|
||||
* ``[p]editrole color "My role" #ff0000``
|
||||
|
||||
* ``[p]editrole color "My role" dark_blue``
|
||||
|
||||
.. _admin-command-announce:
|
||||
|
||||
^^^^^^^^
|
||||
announce
|
||||
^^^^^^^^
|
||||
|
||||
.. note:: |owner-lock|
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]announce <message>
|
||||
|
||||
**Description**
|
||||
|
||||
Announce your message to all of the servers the bot is in.
|
||||
|
||||
The bot will announce the message in the guild's announcements channel.
|
||||
If this channel is not set, the message won't be announced.
|
||||
|
||||
**Arguments**
|
||||
|
||||
* ``<message>``: The message to send.
|
||||
|
||||
.. _admin-command-announce-cancel:
|
||||
|
||||
"""""""""""""""
|
||||
announce cancel
|
||||
"""""""""""""""
|
||||
|
||||
.. note:: |owner-lock|
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]announce cancel
|
||||
|
||||
**Description**
|
||||
|
||||
Cancels an active announcement.
|
||||
|
||||
.. _admin-command-announceset:
|
||||
|
||||
^^^^^^^^^^^
|
||||
announceset
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. note:: |guildowner-lock|
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]announceset
|
||||
|
||||
**Description**
|
||||
|
||||
Change how announcements are received in this guild.
|
||||
|
||||
.. _admin-command-announceset-channel:
|
||||
|
||||
"""""""""""""""""""
|
||||
announceset channel
|
||||
"""""""""""""""""""
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]announceset channel [channel]
|
||||
|
||||
**Description**
|
||||
|
||||
Sets the channel where the bot owner announcements will be sent.
|
||||
|
||||
**Arguments**
|
||||
|
||||
* ``[channel]``: The channel that will be used for bot announcements.
|
||||
|channel-input| Defaults to where you typed the command.
|
||||
|
||||
.. _admin-command-announceset-clearchannel:
|
||||
|
||||
""""""""""""""""""""""""
|
||||
announceset clearchannel
|
||||
""""""""""""""""""""""""
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]announceset clearchannel
|
||||
|
||||
**Description**
|
||||
|
||||
Disables announcements on your server. To enable them again, you will have to
|
||||
re-enter your announcements channel with the :ref:`announceset channel
|
||||
<admin-command-announceset-channel>` command.
|
||||
|
||||
.. _admin-command-serverlock:
|
||||
|
||||
^^^^^^^^^^
|
||||
serverlock
|
||||
^^^^^^^^^^
|
||||
|
||||
.. note:: |owner-lock| This is also usable by the members with the
|
||||
``Administrator`` permission.
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]serverlock
|
||||
|
||||
**Description**
|
||||
|
||||
Lock a bot to its current servers only.
|
||||
|
||||
This means that, once you enable this, if someone invites the bot to a new
|
||||
server, the bot will automatically leave the server.
|
||||
|
||||
.. tip:: Another way to prevent your bot from being invited on more servers is
|
||||
making it private directly from the developer portal.
|
||||
|
||||
Once a bot is private, it can only be invited by its owner (or team
|
||||
owners). Other users will get an error on Discord's webpage explaining that
|
||||
the bot is private.
|
||||
|
||||
To do this, go to the `Discord developer portal
|
||||
<https://discord.com/developers>`_, select your application, click "Bot" in
|
||||
the sidebar, then untick "Public bot".
|
||||
|
||||
.. image:: ../.resources/admin/public_bot.png
|
||||
277
docs/cog_guides/alias.rst
Normal file
@@ -0,0 +1,277 @@
|
||||
.. _alias:
|
||||
|
||||
=====
|
||||
Alias
|
||||
=====
|
||||
|
||||
This is the cog guide for the alias cog. You will
|
||||
find detailed docs about the usage and the commands.
|
||||
|
||||
``[p]`` is considered as your prefix.
|
||||
|
||||
.. note:: To use this cog, load it by typing this::
|
||||
|
||||
[p]load alias
|
||||
|
||||
.. _alias-usage:
|
||||
|
||||
-----
|
||||
Usage
|
||||
-----
|
||||
|
||||
This cog is used to create shortcuts for commands.
|
||||
|
||||
Here's an example:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
[p]play
|
||||
# with an alias, you can call the command above with a shortcut like this:
|
||||
[p]p
|
||||
# "p" is now a shortcut for "play"
|
||||
|
||||
In this example, we made an alias named ``p`` that will
|
||||
invoke the ``play`` command. If you use ``[p]play`` or ``[p]p``, the result will
|
||||
be the same.
|
||||
|
||||
----
|
||||
|
||||
Here's another example
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
[p]cleanup messages
|
||||
# now we're creating another alias that will group both the command and the subcommand into this:
|
||||
[p]clear
|
||||
# "clear" is now a shortcut for "cleanup messages"
|
||||
|
||||
In this second example, we made an alias called ``clear`` that will
|
||||
invoke the ``cleanup messages`` subcommand. Now if you use ``[p]cleanup
|
||||
message`` or ``[p]clear``, the result will be the same.
|
||||
|
||||
----
|
||||
|
||||
This is the basic usage, where you can define an alias for the first part of
|
||||
the command and give the second part when invoking the command. A more advanced
|
||||
usage of aliases is the usage of arguments.
|
||||
|
||||
Let's suppose you want to make an alias to ban someone, delete 7 days of
|
||||
messages and set the reason to "Spam bot.", that cannot be done with a classic
|
||||
alias since the required member argument is the first one. If you create the
|
||||
alias "spamban" using arguments like this ``ban {0} 7 Spam bot.``, ``{0}`` will
|
||||
be replaced by the first argument of your alias:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
# we created the following alias named "spamban"
|
||||
[p]spamban Slime#3160
|
||||
# this alias will execute the following command:
|
||||
[p]ban Slime#3160 7 Spam bot.
|
||||
|
||||
For a more detailed explaination, read :ref:`this <alias-command-alias-add>`.
|
||||
|
||||
.. _alias-commands:
|
||||
|
||||
--------
|
||||
Commands
|
||||
--------
|
||||
|
||||
.. _alias-command-alias:
|
||||
|
||||
^^^^^
|
||||
alias
|
||||
^^^^^
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]alias
|
||||
|
||||
**Description**
|
||||
|
||||
This is the main command used for setting up the cog.
|
||||
It will be used for all other commands.
|
||||
|
||||
.. _alias-command-alias-add:
|
||||
|
||||
"""""""""
|
||||
alias add
|
||||
"""""""""
|
||||
|
||||
.. note:: |mod-lock|
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]alias add <alias_name> <command>
|
||||
|
||||
**Description**
|
||||
|
||||
Creates an alias. It will be used like this ``[p]alias_name <arguments>``
|
||||
and will be equal to this ``[p]command <arguments>``.
|
||||
|
||||
Let's develop the examples given :ref:`earlier <alias-usage>` a bit more,
|
||||
the left part of the command is the alias (blue), and the right part is the
|
||||
parameters members have to give for the command (orange).
|
||||
|
||||
.. image:: ../.resources/alias/example-1.png
|
||||
|
||||
One more thing you can do with aliases is using arguments, a bit like
|
||||
CustomCommands. Let's suppose you want an alias that bans x member and deletes
|
||||
7 days of messages. Without aliases, the command would look like this:
|
||||
|
||||
``[p]ban NotSoTrustyJAID#0001 7 My random reason``
|
||||
|
||||
A classic alias wouldn't work because the member argument is the first one,
|
||||
and you can only shorten the left part before the required argument.
|
||||
|
||||
An alias with arguments can fix that, you can define the alias on the whole
|
||||
command and replace the required argument by ``{0}``, which will be replaced
|
||||
by the first parameter given when invoking the alias.
|
||||
|
||||
Back to our example, let's make an alias named ``bigban`` which will be
|
||||
assigned to this expression: ``ban {0} 7``
|
||||
|
||||
.. image:: ../.resources/alias/example-2.png
|
||||
|
||||
You can see in blue the "static" part of the alias, what is contained and
|
||||
doesn't need to be given, the orange part is the arguments given at the end of
|
||||
the command, just like a classic alias, and the green part is the positional
|
||||
argument we defined: the first argument of the alias will be the green part.
|
||||
|
||||
You can add as many arguments as you want, they can start at ``{0}`` or ``{1}``
|
||||
and must be in order: ``{1}`` will be the first argument, ``{2}`` will be the
|
||||
second one...
|
||||
|
||||
.. attention:: The numbers must be in order, you cannot use ``{0}`` and ``{2}``
|
||||
without using ``{1}``.
|
||||
|
||||
Here are more examples:
|
||||
|
||||
* * Full command: ``[p]cleanup messages 75 True``
|
||||
* Alias: ``[p]alias add fullclear cleanup messages {0} True``
|
||||
* Invoked alias: ``[p]fullclear 75``
|
||||
|
||||
*The* ``True`` *at the end tells the bot to also clear pinned messages.*
|
||||
|
||||
* * Full command: ``[p]repo add SinbadCogs
|
||||
https://github.com/mikeshardmind/SinbadCogs v3``
|
||||
|
||||
* Alias: ``[p]alias add newrepo repo add {2} https://github.com/{1}/{2}``
|
||||
* Invoked with alias: ``[p]newrepo mikeshardmind SinbadCogs v3``
|
||||
|
||||
**Arguments**
|
||||
|
||||
* ``<alias_name>``: The new command name.
|
||||
|
||||
* ``<command>``: The command to execute when ``[p]alias_name`` is invoked.
|
||||
|
||||
.. _alias-command-alias-delete:
|
||||
|
||||
""""""""""""
|
||||
alias delete
|
||||
""""""""""""
|
||||
|
||||
.. note:: |mod-lock|
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]alias [delete|remove|del] <alias_name>
|
||||
|
||||
**Description**
|
||||
|
||||
Removes an alias from the list. Check the list with
|
||||
the :ref:`alias list <alias-command-alias-list>` command.
|
||||
|
||||
**Arguments**
|
||||
|
||||
* ``<alias_name>``: The alias' name to delete.
|
||||
|
||||
.. _alias-command-alias-list:
|
||||
|
||||
""""""""""
|
||||
alias list
|
||||
""""""""""
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]alias list
|
||||
|
||||
**Description**
|
||||
|
||||
Shows all of the existing aliases on the current server.
|
||||
|
||||
.. _alias-command-alias-show:
|
||||
|
||||
""""""""""
|
||||
alias show
|
||||
""""""""""
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]alias show <alias_name>
|
||||
|
||||
**Description**
|
||||
|
||||
Shows the command associated to the alias.
|
||||
|
||||
**Arguments**
|
||||
|
||||
* ``<alias_name>``: The alias you want information from.
|
||||
|
||||
.. _alias-command-alias-help:
|
||||
|
||||
""""""""""
|
||||
alias help
|
||||
""""""""""
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]alias help <alias_name>
|
||||
|
||||
**Description**
|
||||
|
||||
Shows help message for an alias.
|
||||
|
||||
**Arguments**
|
||||
|
||||
* ``<alias_name>``: Alias you want to get help from.
|
||||
|
||||
.. _alias-command-alias-global:
|
||||
|
||||
""""""""""""
|
||||
alias global
|
||||
""""""""""""
|
||||
|
||||
.. note:: |owner-lock|
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]alias global
|
||||
|
||||
**Description**
|
||||
|
||||
Another group command which contains the :ref:`add
|
||||
<alias-command-alias-add>`, :ref:`del
|
||||
<alias-command-alias-delete>` and :ref:`list
|
||||
<alias-command-alias-list>` commands.
|
||||
|
||||
They work the same, except the created aliases will be
|
||||
global instead of being only server-wide.
|
||||
|
||||
Please refer to these docs for the commands, they work with the
|
||||
same arguments. For example, if you want to add a global alias,
|
||||
instead of doing ``[p]alias add <arguments>``, do ``[p]alias
|
||||
global add <arguments>``.
|
||||
186
docs/cog_guides/bank.rst
Normal file
@@ -0,0 +1,186 @@
|
||||
.. _bank:
|
||||
|
||||
====
|
||||
Bank
|
||||
====
|
||||
|
||||
This is the cog guide for the bank cog. You will
|
||||
find detailed docs about usage and commands.
|
||||
|
||||
``[p]`` is considered as your prefix.
|
||||
|
||||
.. note:: To use this cog, load it by typing this::
|
||||
|
||||
[p]load bank
|
||||
|
||||
.. _bank-usage:
|
||||
|
||||
-----
|
||||
Usage
|
||||
-----
|
||||
|
||||
This cog manages the bank. It won't be used often by
|
||||
users but this is what makes any interaction with the
|
||||
money possible.
|
||||
|
||||
You will be able to switch between a global and a server-
|
||||
wide bank and choose the bank/currency name.
|
||||
|
||||
.. _bank-commands:
|
||||
|
||||
--------
|
||||
Commands
|
||||
--------
|
||||
|
||||
.. _bank-command-bankset:
|
||||
|
||||
^^^^^^^
|
||||
bankset
|
||||
^^^^^^^
|
||||
|
||||
.. note:: |guildowner-lock|
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]bankset
|
||||
|
||||
**Description**
|
||||
|
||||
Base command for configuring bank settings.
|
||||
|
||||
.. _bank-command-bankset-toggleglobal:
|
||||
|
||||
""""""""""""""""""""
|
||||
bankset toggleglobal
|
||||
""""""""""""""""""""
|
||||
|
||||
.. note:: |owner-lock|
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]bankset toggleglobal [confirm=False]
|
||||
|
||||
**Description**
|
||||
|
||||
Makes the bank global instead of server-wide. If it
|
||||
is already global, the command will switch it back
|
||||
to the server-wide bank.
|
||||
|
||||
.. warning:: Using this command will reset **all** accounts.
|
||||
|
||||
**Arguments**
|
||||
|
||||
* ``[confirm=False]``: Put ``yes`` to confirm.
|
||||
|
||||
.. _bank-command-bankset-creditsname:
|
||||
|
||||
"""""""""""""""""""
|
||||
bankset creditsname
|
||||
"""""""""""""""""""
|
||||
|
||||
.. note:: |owner-lock| However, if the bank is server-wide, the
|
||||
server owner or an administrator can use this command.
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]bankset creditsname <name>
|
||||
|
||||
**Description**
|
||||
|
||||
Change the credits name of the bank. It is ``credits`` by default.
|
||||
|
||||
For example, if you switch it to ``dollars``, the payday
|
||||
command will show this:
|
||||
|
||||
.. TODO reference the payday command
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
Here, take some dollars. Enjoy! (+120 dollars!)
|
||||
|
||||
You currently have 220 dollars.
|
||||
|
||||
**Arguments**
|
||||
|
||||
* ``<name>``: The new credits name.
|
||||
|
||||
.. _bank-command-bankset-bankname:
|
||||
|
||||
""""""""""""""""
|
||||
bankset bankname
|
||||
""""""""""""""""
|
||||
|
||||
.. note:: |owner-lock| However, if the bank is server-wide, the
|
||||
server owner or an administrator can use this command.
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]bankset bankname <name>
|
||||
|
||||
**Description**
|
||||
|
||||
Set bank's name.
|
||||
|
||||
**Arguments**
|
||||
|
||||
* ``<name>``: The new bank's name.
|
||||
|
||||
.. _bank-command-bankset-maxbal:
|
||||
|
||||
""""""""""""""
|
||||
bankset maxbal
|
||||
""""""""""""""
|
||||
|
||||
.. note:: |owner-lock| However, if the bank is server-wide, the
|
||||
server owner or an administrator can use this command.
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]bankset maxbal <amount>
|
||||
|
||||
**Description**
|
||||
|
||||
Defines the maximum amount of money a user can have with the bot.
|
||||
|
||||
If an user reaches this limit, he will be unable to gain more money.
|
||||
|
||||
**Arguments**
|
||||
|
||||
* ``<amount>``: The maximum amount of money for users.
|
||||
|
||||
.. _bank-command-bankset-showsettings:
|
||||
|
||||
""""""""""""""""""""
|
||||
bankset showsettings
|
||||
""""""""""""""""""""
|
||||
|
||||
.. note:: |owner-lock| However, if the bank is server-wide, the
|
||||
server owner or an administrator can use this command.
|
||||
|
||||
**Syntax**
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]bankset showsettings
|
||||
|
||||
**Description**
|
||||
|
||||
Shows the current settings of your bank.
|
||||
|
||||
This will display the following information:
|
||||
|
||||
* Name of the bank
|
||||
* Scope of the bank (global or per server)
|
||||
* Currency name
|
||||
* Default balance
|
||||
* Maximum allowed balance
|
||||
28
docs/conf.py
@@ -36,6 +36,7 @@ os.environ["BUILDING_DOCS"] = "1"
|
||||
# ones.
|
||||
extensions = [
|
||||
"sphinx.ext.autodoc",
|
||||
"sphinx.ext.extlinks",
|
||||
"sphinx.ext.intersphinx",
|
||||
"sphinx.ext.viewcode",
|
||||
"sphinx.ext.napoleon",
|
||||
@@ -57,7 +58,7 @@ master_doc = "index"
|
||||
|
||||
# General information about the project.
|
||||
project = "Red - Discord Bot"
|
||||
copyright = "2018, Cog Creators"
|
||||
copyright = "2018-2020, Cog Creators"
|
||||
author = "Cog Creators"
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
@@ -65,6 +66,7 @@ author = "Cog Creators"
|
||||
# built documents.
|
||||
#
|
||||
from redbot.core import __version__
|
||||
from discord import __version__ as dpy_version
|
||||
|
||||
# The short X.Y version.
|
||||
version = __version__
|
||||
@@ -92,6 +94,12 @@ todo_include_todos = False
|
||||
# Role which is assigned when you make a simple reference within backticks
|
||||
default_role = "any"
|
||||
|
||||
# Includes substitutions for all files
|
||||
with open("prolog.txt", "r") as file:
|
||||
rst_prolog = file.read()
|
||||
|
||||
# Adds d.py version to available substitutions in all files
|
||||
rst_prolog += f"\n.. |DPY_VERSION| replace:: {dpy_version}"
|
||||
|
||||
# -- Options for HTML output ----------------------------------------------
|
||||
|
||||
@@ -100,9 +108,6 @@ default_role = "any"
|
||||
#
|
||||
html_theme = "sphinx_rtd_theme"
|
||||
|
||||
# This will be needed until sphinx_rtd_theme supports the html5 writer
|
||||
html4_writer = True
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
@@ -199,6 +204,7 @@ texinfo_documents = [
|
||||
# A list of regular expressions that match URIs that should not be
|
||||
# checked when doing a linkcheck build.
|
||||
linkcheck_ignore = [r"https://java.com*", r"https://chocolatey.org*"]
|
||||
linkcheck_retries = 3
|
||||
|
||||
|
||||
# -- Options for extensions -----------------------------------------------
|
||||
@@ -206,8 +212,18 @@ linkcheck_ignore = [r"https://java.com*", r"https://chocolatey.org*"]
|
||||
# Intersphinx
|
||||
intersphinx_mapping = {
|
||||
"python": ("https://docs.python.org/3", None),
|
||||
"dpy": ("https://discordpy.readthedocs.io/en/v1.0.1/", None),
|
||||
"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),
|
||||
}
|
||||
|
||||
# Extlinks
|
||||
# This allows to create links to d.py docs with
|
||||
# :dpy_docs:`link text <site_name.html>`
|
||||
extlinks = {
|
||||
"dpy_docs": (f"https://discordpy.readthedocs.io/en/v{dpy_version}/%s", None),
|
||||
"issue": ("https://github.com/Cog-Creators/Red-DiscordBot/issues/%s", "#"),
|
||||
"ghuser": ("https://github.com/%s", "@"),
|
||||
}
|
||||
|
||||
# Doctest
|
||||
@@ -216,5 +232,5 @@ intersphinx_mapping = {
|
||||
doctest_test_doctest_blocks = ""
|
||||
|
||||
# Autodoc options
|
||||
autodoc_default_flags = ["show-inheritance"]
|
||||
autodoc_default_options = {"show-inheritance": True}
|
||||
autodoc_typehints = "none"
|
||||
|
||||
@@ -6,7 +6,7 @@ Shared API Keys
|
||||
|
||||
Red has a central API key storage utilising the core bots config. This allows cog creators to add a single location to store API keys for their cogs which may be shared between other cogs.
|
||||
|
||||
There needs to be some consistency between cog creators when using shared API keys between cogs. To help make this easier service should be all **lowercase** and the key names should match the naming convetion of the API being accessed.
|
||||
There needs to be some consistency between cog creators when using shared API keys between cogs. To help make this easier service should be all **lowercase** and the key names should match the naming convention of the API being accessed.
|
||||
|
||||
Example:
|
||||
|
||||
@@ -18,7 +18,7 @@ and when accessed in the code it should be done by
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
await self.bot.db.api_tokens.get_raw("twitch", default={"client_id": None, "client_secret": None})
|
||||
await self.bot.get_shared_api_tokens("twitch")
|
||||
|
||||
Each service has its own dict of key, value pairs for each required key type. If there's only one key required then a name for the key is still required for storing and accessing.
|
||||
|
||||
@@ -30,7 +30,7 @@ and when accessed in the code it should be done by
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
await self.bot.db.api_tokens.get_raw("youtube", default={"api_key": None})
|
||||
await self.bot.get_shared_api_tokens("youtube")
|
||||
|
||||
|
||||
***********
|
||||
@@ -42,7 +42,34 @@ Basic Usage
|
||||
class MyCog:
|
||||
@commands.command()
|
||||
async def youtube(self, ctx, user: str):
|
||||
apikey = await self.bot.db.api_tokens.get_raw("youtube", default={"api_key": None})
|
||||
if apikey["api_key"] is None:
|
||||
youtube_keys = await self.bot.get_shared_api_tokens("youtube")
|
||||
if youtube_keys.get("api_key") is None:
|
||||
return await ctx.send("The YouTube API key has not been set.")
|
||||
# Use the API key to access content as you normally would
|
||||
|
||||
|
||||
***************
|
||||
Event Reference
|
||||
***************
|
||||
|
||||
.. function:: on_red_api_tokens_update(service_name, api_tokens)
|
||||
|
||||
Dispatched when service's api keys are updated.
|
||||
|
||||
:param service_name: Name of the service.
|
||||
:type service_name: :class:`str`
|
||||
:param api_tokens: New Mapping of token names to tokens. This contains api tokens that weren't changed too.
|
||||
:type api_tokens: Mapping[:class:`str`, :class:`str`]
|
||||
|
||||
|
||||
*********************
|
||||
Additional References
|
||||
*********************
|
||||
|
||||
.. py:currentmodule:: redbot.core.bot
|
||||
|
||||
.. automethod:: Red.get_shared_api_tokens
|
||||
|
||||
.. automethod:: Red.set_shared_api_tokens
|
||||
|
||||
.. automethod:: Red.remove_shared_api_tokens
|
||||
|
||||
@@ -7,14 +7,23 @@ Commands Package
|
||||
This package acts almost identically to :doc:`discord.ext.commands <dpy:ext/commands/api>`; i.e.
|
||||
all of the attributes from discord.py's are also in ours.
|
||||
Some of these attributes, however, have been slightly modified, while others have been added to
|
||||
extend functionlities used throughout the bot, as outlined below.
|
||||
extend functionalities used throughout the bot, as outlined below.
|
||||
|
||||
.. autofunction:: redbot.core.commands.command
|
||||
|
||||
.. autofunction:: redbot.core.commands.group
|
||||
|
||||
.. autoclass:: redbot.core.commands.Cog
|
||||
|
||||
.. automethod:: format_help_for_context
|
||||
|
||||
.. automethod:: red_get_data_for_user
|
||||
|
||||
.. automethod:: red_delete_data_for_user
|
||||
|
||||
.. autoclass:: redbot.core.commands.Command
|
||||
:members:
|
||||
:inherited-members: format_help_for_context
|
||||
|
||||
.. autoclass:: redbot.core.commands.Group
|
||||
:members:
|
||||
@@ -22,5 +31,33 @@ extend functionlities used throughout the bot, as outlined below.
|
||||
.. autoclass:: redbot.core.commands.Context
|
||||
:members:
|
||||
|
||||
.. autoclass:: redbot.core.commands.GuildContext
|
||||
|
||||
.. autoclass:: redbot.core.commands.DMContext
|
||||
|
||||
.. automodule:: redbot.core.commands.requires
|
||||
:members: PrivilegeLevel, PermState, Requires
|
||||
|
||||
.. automodule:: redbot.core.commands.converter
|
||||
:members:
|
||||
:exclude-members: UserInputOptional, convert
|
||||
:no-undoc-members:
|
||||
|
||||
.. autodata:: UserInputOptional
|
||||
:annotation:
|
||||
|
||||
.. _framework-commands-help:
|
||||
|
||||
******************
|
||||
Help Functionality
|
||||
******************
|
||||
|
||||
.. warning::
|
||||
|
||||
The content in this section is provisional and may change
|
||||
without prior notice or warning. Updates to this will be communicated
|
||||
on `this issue <https://github.com/Cog-Creators/Red-DiscordBot/issues/4084>`_
|
||||
|
||||
|
||||
.. automodule:: redbot.core.commands.help
|
||||
:members:
|
||||
|
||||
@@ -11,6 +11,9 @@ Config was introduced in V3 as a way to make data storage easier and safer for a
|
||||
It will take some getting used to as the syntax is entirely different from what Red has used before, but we believe
|
||||
Config will be extremely beneficial to both cog developers and end users in the long run.
|
||||
|
||||
.. note:: While config is great for storing data safely, there are some caveats to writing performant code which uses it.
|
||||
Make sure to read the section on best practices for more of these details.
|
||||
|
||||
***********
|
||||
Basic Usage
|
||||
***********
|
||||
@@ -199,15 +202,15 @@ the built-in Economy credits::
|
||||
|
||||
class Pets:
|
||||
def __init__(self):
|
||||
self.conf = Config.get_conf(self, 1234567890)
|
||||
self.config = Config.get_conf(self, 1234567890)
|
||||
|
||||
# Here we'll assign some default costs for the pets
|
||||
self.conf.register_global(
|
||||
self.config.register_global(
|
||||
dog=100,
|
||||
cat=100,
|
||||
bird=50
|
||||
)
|
||||
self.conf.register_user(
|
||||
self.config.register_user(
|
||||
pets={}
|
||||
)
|
||||
|
||||
@@ -226,7 +229,7 @@ And now that the cog is set up we'll need to create some commands that allow use
|
||||
|
||||
# We will need to use "get_raw"
|
||||
try:
|
||||
cost = await self.conf.get_raw(pet_type)
|
||||
cost = await self.config.get_raw(pet_type)
|
||||
except KeyError:
|
||||
# KeyError is thrown whenever the data you try to access does not
|
||||
# exist in the registered defaults or in the saved data.
|
||||
@@ -238,15 +241,15 @@ assign a new pet to the user. This is very easily done using the V3 bank API and
|
||||
|
||||
# continued
|
||||
if await bank.can_spend(ctx.author, cost):
|
||||
await self.conf.user(ctx.author).pets.set_raw(
|
||||
await self.config.user(ctx.author).pets.set_raw(
|
||||
pet_name, value={'cost': cost, 'hunger': 0}
|
||||
)
|
||||
|
||||
# this is equivalent to doing the following
|
||||
|
||||
pets = await self.conf.user(ctx.author).pets()
|
||||
pets = await self.config.user(ctx.author).pets()
|
||||
pets[pet_name] = {'cost': cost, 'hunger': 0}
|
||||
await self.conf.user(ctx.author).pets.set(pets)
|
||||
await self.config.user(ctx.author).pets.set(pets)
|
||||
|
||||
Since the pets can get hungry we're gonna need a command that let's pet owners check how hungry their pets are::
|
||||
|
||||
@@ -254,7 +257,7 @@ Since the pets can get hungry we're gonna need a command that let's pet owners c
|
||||
@commands.command()
|
||||
async def hunger(self, ctx, pet_name: str):
|
||||
try:
|
||||
hunger = await self.conf.user(ctx.author).pets.get_raw(pet_name, 'hunger')
|
||||
hunger = await self.config.user(ctx.author).pets.get_raw(pet_name, 'hunger')
|
||||
except KeyError:
|
||||
# Remember, this is thrown if something in the provided identifiers
|
||||
# is not found in the saved data or the defaults.
|
||||
@@ -271,7 +274,7 @@ We're responsible pet owners here, so we've also got to have a way to feed our p
|
||||
# This is a bit more complicated because we need to check if the pet is
|
||||
# owned first.
|
||||
try:
|
||||
pet = await self.conf.user(ctx.author).pets.get_raw(pet_name)
|
||||
pet = await self.config.user(ctx.author).pets.get_raw(pet_name)
|
||||
except KeyError:
|
||||
# If the given pet name doesn't exist in our data
|
||||
await ctx.send("You don't own that pet!")
|
||||
@@ -282,12 +285,12 @@ We're responsible pet owners here, so we've also got to have a way to feed our p
|
||||
# Determine the new hunger and make sure it doesn't go negative
|
||||
new_hunger = max(hunger - food, 0)
|
||||
|
||||
await self.conf.user(ctx.author).pets.set_raw(
|
||||
await self.config.user(ctx.author).pets.set_raw(
|
||||
pet_name, 'hunger', value=new_hunger
|
||||
)
|
||||
|
||||
# We could accomplish the same thing a slightly different way
|
||||
await self.conf.user(ctx.author).pets.get_attr(pet_name).hunger.set(new_hunger)
|
||||
await self.config.user(ctx.author).pets.get_attr(pet_name).hunger.set(new_hunger)
|
||||
|
||||
await ctx.send("Your pet is now at {}/100 hunger!".format(new_hunger)
|
||||
|
||||
@@ -297,7 +300,7 @@ Of course, if we're less than responsible pet owners, there are consequences::
|
||||
@commands.command()
|
||||
async def adopt(self, ctx, pet_name: str, *, member: discord.Member):
|
||||
try:
|
||||
pet = await self.conf.user(member).pets.get_raw(pet_name)
|
||||
pet = await self.config.user(member).pets.get_raw(pet_name)
|
||||
except KeyError:
|
||||
await ctx.send("That person doesn't own that pet!")
|
||||
return
|
||||
@@ -307,15 +310,15 @@ Of course, if we're less than responsible pet owners, there are consequences::
|
||||
await ctx.send("That pet is too well taken care of to be adopted.")
|
||||
return
|
||||
|
||||
await self.conf.user(member).pets.clear_raw(pet_name)
|
||||
await self.config.user(member).pets.clear_raw(pet_name)
|
||||
|
||||
# this is equivalent to doing the following
|
||||
|
||||
pets = await self.conf.user(member).pets()
|
||||
pets = await self.config.user(member).pets()
|
||||
del pets[pet_name]
|
||||
await self.conf.user(member).pets.set(pets)
|
||||
await self.config.user(member).pets.set(pets)
|
||||
|
||||
await self.conf.user(ctx.author).pets.set_raw(pet_name, value=pet)
|
||||
await self.config.user(ctx.author).pets.set_raw(pet_name, value=pet)
|
||||
await ctx.send(
|
||||
"Your request to adopt this pet has been granted due to "
|
||||
"how poorly it was taken care of."
|
||||
@@ -348,15 +351,15 @@ much the same way they would in V2. The following examples will demonstrate how
|
||||
|
||||
class ExampleCog:
|
||||
def __init__(self):
|
||||
self.conf = Config.get_conf(self, 1234567890)
|
||||
self.config = Config.get_conf(self, 1234567890)
|
||||
|
||||
self.data = {}
|
||||
|
||||
async def load_data(self):
|
||||
self.data = await self.conf.custom("V2", "V2").all()
|
||||
self.data = await self.config.custom("V2", "V2").all()
|
||||
|
||||
async def save_data(self):
|
||||
await self.conf.custom("V2", "V2").set(self.data)
|
||||
await self.config.custom("V2", "V2").set(self.data)
|
||||
|
||||
|
||||
async def setup(bot):
|
||||
@@ -364,6 +367,30 @@ much the same way they would in V2. The following examples will demonstrate how
|
||||
await cog.load_data()
|
||||
bot.add_cog(cog)
|
||||
|
||||
************************************
|
||||
Best practices and performance notes
|
||||
************************************
|
||||
|
||||
Config prioritizes being a safe data store without developers needing to
|
||||
know how end users have configured their bot.
|
||||
|
||||
This does come with some performance costs, so keep the following in mind when choosing to
|
||||
develop using config
|
||||
|
||||
* Config use in events should be kept minimal and should only occur
|
||||
after confirming the event needs to interact with config
|
||||
|
||||
* Caching frequently used things, especially things used by events,
|
||||
results in faster and less event loop blocking code.
|
||||
|
||||
* Only use config's context managers when you intend to modify data.
|
||||
|
||||
* While config is a great general use option, it may not always be the right one for you.
|
||||
As a cog developer, even though config doesn't require one,
|
||||
you can choose to require a database or store to something such as an sqlite
|
||||
database stored within your cog's datapath.
|
||||
|
||||
|
||||
*************
|
||||
API Reference
|
||||
*************
|
||||
@@ -380,13 +407,13 @@ API Reference
|
||||
includes keys within a `dict` when one is being set, as well as keys in nested dictionaries
|
||||
within that `dict`. For example::
|
||||
|
||||
>>> conf = Config.get_conf(self, identifier=999)
|
||||
>>> conf.register_global(foo={})
|
||||
>>> await conf.foo.set_raw(123, value=True)
|
||||
>>> await conf.foo()
|
||||
>>> config = Config.get_conf(self, identifier=999)
|
||||
>>> config.register_global(foo={})
|
||||
>>> await config.foo.set_raw(123, value=True)
|
||||
>>> await config.foo()
|
||||
{'123': True}
|
||||
>>> await conf.foo.set({123: True, 456: {789: False}}
|
||||
>>> await conf.foo()
|
||||
>>> await config.foo.set({123: True, 456: {789: False}}
|
||||
>>> await config.foo()
|
||||
{'123': True, '456': {'789': False}}
|
||||
|
||||
.. automodule:: redbot.core.config
|
||||
@@ -416,20 +443,25 @@ Value
|
||||
Driver Reference
|
||||
****************
|
||||
|
||||
.. automodule:: redbot.core.drivers
|
||||
.. autofunction:: redbot.core.drivers.get_driver
|
||||
|
||||
.. autoclass:: redbot.core.drivers.BackendType
|
||||
:members:
|
||||
|
||||
.. autoclass:: redbot.core.drivers.ConfigCategory
|
||||
:members:
|
||||
|
||||
Base Driver
|
||||
^^^^^^^^^^^
|
||||
.. autoclass:: redbot.core.drivers.red_base.BaseDriver
|
||||
.. autoclass:: redbot.core.drivers.BaseDriver
|
||||
:members:
|
||||
|
||||
JSON Driver
|
||||
^^^^^^^^^^^
|
||||
.. autoclass:: redbot.core.drivers.red_json.JSON
|
||||
.. autoclass:: redbot.core.drivers.JsonDriver
|
||||
:members:
|
||||
|
||||
Mongo Driver
|
||||
^^^^^^^^^^^^
|
||||
.. autoclass:: redbot.core.drivers.red_mongo.Mongo
|
||||
Postgres Driver
|
||||
^^^^^^^^^^^^^^^
|
||||
.. autoclass:: redbot.core.drivers.PostgresDriver
|
||||
:members:
|
||||
|
||||
@@ -33,21 +33,17 @@ Tutorial
|
||||
|
||||
After making your cog, generate a :code:`messages.pot` file
|
||||
|
||||
The process of generating this will depend on the operating system
|
||||
you are using
|
||||
We recommend using redgettext - a modified version of pygettext for Red.
|
||||
You can install redgettext by running :code:`pip install redgettext` in a command prompt.
|
||||
|
||||
In a command prompt in your cog's package (where yourcog.py is),
|
||||
create a directory called "locales".
|
||||
Then do one of the following:
|
||||
|
||||
Windows: :code:`python <your python install path>\Tools\i18n\pygettext.py -D -n -p locales`
|
||||
|
||||
Mac: ?
|
||||
|
||||
Linux: :code:`pygettext3 -D -n -p locales`
|
||||
|
||||
This will generate a messages.pot file with strings to be translated, including
|
||||
To generate the :code:`messages.pot` file, you will now need to run
|
||||
:code:`python -m redgettext -c [path_to_cog]`
|
||||
This file will contain all strings to be translated, including
|
||||
docstrings.
|
||||
(For advanced usage check :code:`python -m redgettext -h`)
|
||||
|
||||
You can now use a tool like `poedit
|
||||
<https://poedit.net/>`_ to translate the strings in your messages.pot file.
|
||||
|
||||
-------------
|
||||
API Reference
|
||||
|
||||
@@ -25,7 +25,7 @@ Basic Usage
|
||||
async def ban(self, ctx, user: discord.Member, reason: str = None):
|
||||
await ctx.guild.ban(user)
|
||||
case = await modlog.create_case(
|
||||
ctx.bot, ctx.guild, ctx.message.created_at, action="ban",
|
||||
ctx.bot, ctx.guild, ctx.message.created_at, action_type="ban",
|
||||
user=user, moderator=ctx.author, reason=reason
|
||||
)
|
||||
await ctx.send("Done. It was about time.")
|
||||
@@ -57,9 +57,6 @@ it from your setup function:
|
||||
"default_setting": True,
|
||||
"image": "\N{HAMMER}",
|
||||
"case_str": "Ban",
|
||||
# audit_type should be omitted if the action doesn't show
|
||||
# up in the audit log.
|
||||
"audit_type": "ban",
|
||||
}
|
||||
try:
|
||||
await modlog.register_casetype(**ban_case)
|
||||
@@ -73,14 +70,12 @@ it from your setup function:
|
||||
"default_setting": True,
|
||||
"image": "\N{BUST IN SILHOUETTE}\N{HAMMER}",
|
||||
"case_str": "Hackban",
|
||||
"audit_type": "ban",
|
||||
},
|
||||
{
|
||||
"name": "kick",
|
||||
"default_setting": True,
|
||||
"image": "\N{WOMANS BOOTS}",
|
||||
"case_str": "Kick",
|
||||
"audit_type": "kick"
|
||||
}
|
||||
]
|
||||
await modlog.register_casetypes(new_types)
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
RPC
|
||||
===
|
||||
|
||||
.. important::
|
||||
|
||||
RPC support is included in Red on a provisional basis. Backwards incompatible changes (up to and including removal of the RPC) may occur if deemed necessary.
|
||||
|
||||
V3 comes default with an internal RPC server that may be used to remotely control the bot in various ways.
|
||||
Cogs must register functions to be exposed to RPC clients.
|
||||
Each of those functions must only take JSON serializable parameters and must return JSON serializable objects.
|
||||
|
||||
@@ -10,6 +10,18 @@ General Utility
|
||||
.. automodule:: redbot.core.utils
|
||||
:members: deduplicate_iterables, bounded_gather, bounded_gather_iter
|
||||
|
||||
.. autoclass:: AsyncIter
|
||||
:members:
|
||||
:special-members: __await__
|
||||
:exclude-members: enumerate, filter
|
||||
|
||||
.. automethod:: enumerate
|
||||
:async-for:
|
||||
|
||||
.. automethod:: filter
|
||||
:async-for:
|
||||
|
||||
|
||||
Chat Formatting
|
||||
===============
|
||||
|
||||
@@ -21,6 +33,7 @@ Embed Helpers
|
||||
|
||||
.. automodule:: redbot.core.utils.embed
|
||||
:members:
|
||||
:exclude-members: randomize_color
|
||||
|
||||
Reaction Menus
|
||||
==============
|
||||
@@ -31,7 +44,16 @@ Reaction Menus
|
||||
Event Predicates
|
||||
================
|
||||
|
||||
.. automodule:: redbot.core.utils.predicates
|
||||
MessagePredicate
|
||||
****************
|
||||
|
||||
.. autoclass:: redbot.core.utils.predicates.MessagePredicate
|
||||
:members:
|
||||
|
||||
ReactionPredicate
|
||||
*****************
|
||||
|
||||
.. autoclass:: redbot.core.utils.predicates.ReactionPredicate
|
||||
:members:
|
||||
|
||||
Mod Helpers
|
||||
|
||||
365
docs/getting_started.rst
Normal file
@@ -0,0 +1,365 @@
|
||||
.. don't forget to set permissions hyperlink
|
||||
+ commands links + guide links
|
||||
|
||||
.. _getting-started:
|
||||
|
||||
===============
|
||||
Getting started
|
||||
===============
|
||||
|
||||
If you recently installed Red, you should read this.
|
||||
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>`.
|
||||
|
||||
Assuming you correctly installed Red, you should have a
|
||||
window like this:
|
||||
|
||||
.. image:: .resources/red-console.png
|
||||
|
||||
.. _gettings-started-invite:
|
||||
|
||||
-------------------------
|
||||
Invite Red to your server
|
||||
-------------------------
|
||||
|
||||
When started, the console will show you ``Invite URL`` (here at
|
||||
the bottom of the screenshot).
|
||||
Paste the link into your browser and select the server you want
|
||||
to invite the bot in, like any other bot.
|
||||
|
||||
.. note:: You need the ``Manage server`` permission to add bots.
|
||||
|
||||
Complete the captcha, it should tell you ``Authorized!`` and you
|
||||
should see your bot in the members list.
|
||||
|
||||
.. attention::
|
||||
If Discord shows ``Bot requires code grant``, please untick this
|
||||
option in your token settings
|
||||
|
||||
.. image:: .resources/code-grant.png
|
||||
|
||||
.. _getting-started-interact:
|
||||
|
||||
-----------------
|
||||
Interact with Red
|
||||
-----------------
|
||||
|
||||
As a chatbot, you interact with Red via the Discord text channels
|
||||
(not from the command prompt). To send commands to the bot, you will have to
|
||||
use the prefix you set before, followed by the command you want to use. For
|
||||
example, if your prefix is ``!``, you will execute your command like this:
|
||||
``!ping``.
|
||||
|
||||
.. note:: Since the prefix can be anything, it'll be referenced as ``[p]``
|
||||
in documentations.
|
||||
|
||||
.. _getting-started-commands:
|
||||
|
||||
~~~~~~~~~~~~
|
||||
The commands
|
||||
~~~~~~~~~~~~
|
||||
|
||||
The command you're going to use the most is help. That command will
|
||||
show you **all of the available commands** of the bot with a small description.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]help
|
||||
|
||||
.. tip:: The message is generated dynamically and users will only see the
|
||||
commands they can use. You can change what commands users can use with the
|
||||
permissions cog.
|
||||
|
||||
You can also pick a command to get its detailed description and the
|
||||
parameters.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]help command
|
||||
|
||||
The parameters are shown as enclosed in ``< >`` if they're required, or
|
||||
``[ ]`` if optional.
|
||||
As an example, the ban command will show this in the help message, assuming
|
||||
your prefix is ``!``:
|
||||
``Syntax: !ban <user> [days] [reason]``
|
||||
|
||||
This means that it is necessary to provide ``user``. However, the
|
||||
``days`` value (number of messages to delete) is optional, as well as
|
||||
the ``reason`` value, used for the modlog.
|
||||
|
||||
You can use help to show the **categories** too, generally called cogs.
|
||||
Just do something like this (notice the capitalization):
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]help YourCategory
|
||||
|
||||
Help also shows **command groups**. They are group of commands.
|
||||
To get the description of a subcommand, type this:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]help commandgroup subcommand
|
||||
|
||||
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``
|
||||
|
||||
.. _getting-started-cogs:
|
||||
|
||||
----
|
||||
Cogs
|
||||
----
|
||||
|
||||
Red is built with cogs, a fancy term for plugins. They are
|
||||
modules that add functionality to Red. They contain
|
||||
commands to use.
|
||||
|
||||
Red comes with 19 cogs containing the basic features, such
|
||||
as moderation, utility, music, streams...
|
||||
|
||||
You can see your loaded and unloaded cogs with the ``[p]cogs``
|
||||
command. By default, all cogs will be unloaded.
|
||||
|
||||
You can load or unload a cog by using the load or unload command
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]load cogname
|
||||
[p]unload cogname
|
||||
|
||||
.. tip:: You can load and unload multiple cogs at once:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]load cog1 cog2 ...
|
||||
|
||||
You can enable and disable everything you want, which means you can
|
||||
customize Red how you want!
|
||||
|
||||
.. _getting-started-community-cogs:
|
||||
|
||||
~~~~~~~~~~~~~~
|
||||
Community cogs
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
There's an entire `community <https://discord.gg/red>`_ that contributes
|
||||
to Red. Those contributors make additional cogs for you to use. You can
|
||||
download them using the downloader cog.
|
||||
|
||||
You can start using the downloader cog by loading it: ``[p]load downloader``
|
||||
|
||||
You can find cogs by searching on ``cogs.red``. Find whatever you want,
|
||||
there are hundreds of cogs available!
|
||||
|
||||
.. note:: ``cogs.red``, the website that list all of the cogs is not
|
||||
ready for v3 yet. For now, you can refer to `this post
|
||||
<https://cogboard.red/t/approved-repositories/210>`_.
|
||||
|
||||
.. 26-cogs not available, let's use my repo :3
|
||||
|
||||
Cogs come in repositories. A repository is a container of cogs
|
||||
that you can install. Let's suppose you want to install the ``say``
|
||||
cog from the repository ``Laggrons-Dumb-Cogs``. You'll first need
|
||||
to add the repository.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]repo add Laggrons-Dumb-Cogs https://github.com/retke/Laggrons-Dumb-Cogs
|
||||
|
||||
.. note:: You may need to specify a branch. If so, add its name after the link.
|
||||
|
||||
Then you can install the cog
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
[p]cog install Laggrons-Dumb-Cogs say
|
||||
|
||||
Now the cog is installed, but not loaded. You can load it using the ``[p]load``
|
||||
command we talked about before.
|
||||
|
||||
.. _getting-started-permissions:
|
||||
|
||||
-----------
|
||||
Permissions
|
||||
-----------
|
||||
|
||||
Red works with different levels of permissions. Every cog defines
|
||||
the level of permission needed for a command.
|
||||
|
||||
~~~~~~~~~
|
||||
Bot owner
|
||||
~~~~~~~~~
|
||||
|
||||
The bot owner can access all commands on every guild. They can also use
|
||||
exclusive commands that can interact with the global settings
|
||||
or system files.
|
||||
|
||||
*You* are the owner by default.
|
||||
|
||||
~~~~~~~~~~~~
|
||||
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
|
||||
bot owner).
|
||||
|
||||
~~~~~~~~~~~~~
|
||||
Administrator
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
The administrator is defined by its roles. You can set multiple admin roles
|
||||
with the ``[p]set addadminrole`` and ``[p]set removeadminrole`` commands.
|
||||
|
||||
For example, in the mod cog, an admin can use the ``[p]modset`` command
|
||||
which defines the cog settings.
|
||||
|
||||
~~~~~~~~~
|
||||
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.
|
||||
|
||||
.. 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
|
||||
the permissions cog.
|
||||
|
||||
.. _getting-started-hosting:
|
||||
|
||||
-------
|
||||
Hosting
|
||||
-------
|
||||
|
||||
If you are hosting Red on your personal computer, you will soon notice that
|
||||
if you close the window or if you shut down you computer, Red will be offline.
|
||||
She needs an environment to work and respond.
|
||||
|
||||
You can try to host Red somewhere she will always be online, like on a virtual
|
||||
private server (VPS) or on a personal server (e.g. Raspberry Pi).
|
||||
|
||||
If you want to do it, follow these steps.
|
||||
|
||||
.. warning::
|
||||
Before trying to host Red on a Linux environment, you need to know the
|
||||
basics of the Unix commands, such as navigating the system files or use
|
||||
a terminal text editor.
|
||||
|
||||
You should follow `this guide
|
||||
<https://www.digitalocean.com/community/tutorials/an-introduction-to-linux-basics>`_
|
||||
from DigitalOcean which will introduce you to the Linux basics.
|
||||
|
||||
1. **Find a host**
|
||||
|
||||
You need to find a server to host Red. You can rent a VPS (it can be free)
|
||||
on an online service. Please check :ref:`this list <host-list>` for
|
||||
quality VPS providers.
|
||||
|
||||
You can also buy a Raspberry Pi (~$20), which is a micro-computer that will
|
||||
be able to host Red. The model 3 or above is recommended.
|
||||
|
||||
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**.
|
||||
|
||||
For Raspberry Pi users, just install `Raspbian
|
||||
<https://www.raspberrypi.org/downloads/raspbian/>`_ on a micro-SD card.
|
||||
|
||||
2.1. **Log in**
|
||||
|
||||
.. note:: This section is for those who have an online server. If you have
|
||||
a local Linux machine, just open the terminal and skip to the next part.
|
||||
|
||||
As we said before, a VPS is controlled through command line. You will have to
|
||||
connect to your VPS through a protocol called SSH.
|
||||
|
||||
.. image:: .resources/instances-ssh-button.png
|
||||
|
||||
On your host page (here, it is Google Cloud), find the SSH button and click on
|
||||
it. You will be connected to your server with command line. You should see
|
||||
something like this.
|
||||
|
||||
.. image:: .resources/ssh-output.png
|
||||
|
||||
.. note:: Don't forget to type the command ``logout`` to close the SSH properly.
|
||||
|
||||
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
|
||||
your distribution.
|
||||
|
||||
4. **Set up an auto-restart**
|
||||
|
||||
Once you got Red running on your server, it will still shut down if you close
|
||||
the window. You can set up an auto-restarting system that will create a
|
||||
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>`.
|
||||
|
||||
.. _getting-started-userdocs:
|
||||
|
||||
------------------
|
||||
User documentation
|
||||
------------------
|
||||
|
||||
You will soon start using the Red core cogs. A detailed documentation is
|
||||
available for every core cog, under the :ref:`How to use <main>` section.
|
||||
|
||||
The cog guides are formatted the same. They're divided into 3 sections:
|
||||
|
||||
* **Guide**
|
||||
|
||||
This will introduce you to the cog and explain you how it works.
|
||||
|
||||
* **Commands**
|
||||
|
||||
A list of the available commands, with details and arguments.
|
||||
Each command guide will be formatted like this:
|
||||
|
||||
* **Syntax**
|
||||
|
||||
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.
|
||||
|
||||
* **Description**
|
||||
|
||||
A detailed description of what the command does, with details about how
|
||||
it must be used.
|
||||
|
||||
* **Arguments**
|
||||
|
||||
A list of all arguments needed (or not) for the command, with more details.
|
||||
|
||||
.. tip::
|
||||
Arguments enclosed in ``< >`` means that the argument is **required**
|
||||
for the command to work.
|
||||
|
||||
Arguments enclosed in ``[ ]`` means that the argument is **optional**
|
||||
for the command; you can decide to use it or not.
|
||||
|
||||
If your argument includes spaces like ``Hello world!``, most of the time
|
||||
you will need to place it in double quotes like this: ``"Hello world!"``.
|
||||
Sometimes (especially for the last argument) these double quotes are not
|
||||
required.
|
||||
|
||||
Arguments followed by ``=something`` means that, if not specified,
|
||||
the argument will be equal to ``something``.
|
||||
|
||||
For example, ``[days=1]`` in the ``ban`` command means that the number
|
||||
of days of messages to be deleted will be equal to ``1`` if not
|
||||
specified.
|
||||
@@ -3,9 +3,9 @@
|
||||
.. role:: python(code)
|
||||
:language: python
|
||||
|
||||
====================
|
||||
Creating cogs for V3
|
||||
====================
|
||||
========================
|
||||
Creating cogs for Red V3
|
||||
========================
|
||||
|
||||
This guide serves as a tutorial on creating cogs for Red V3.
|
||||
It will cover the basics of setting up a package for your
|
||||
@@ -17,10 +17,33 @@ you in the process.
|
||||
Getting started
|
||||
---------------
|
||||
|
||||
To start off, be sure that you have installed Python 3.7.
|
||||
Open a terminal or command prompt and type :code:`pip install -U git+https://github.com/Cog-Creators/Red-DiscordBot@V3/develop#egg=redbot[test]`
|
||||
(note that if you get an error with this, try again but put :code:`python -m` in front of the command
|
||||
This will install the latest version of V3.
|
||||
To start off, be sure that you have installed Python 3.8.
|
||||
Next, you need to decide if you want to develop against the Stable or Develop version of Red.
|
||||
Depending on what your goal is should help determine which version you need.
|
||||
|
||||
.. attention::
|
||||
The Develop version may have changes on it which break compatibility with the Stable version and other cogs.
|
||||
If your goal is to support both versions, make sure you build compatibility layers or use separate branches to keep compatibility until the next Red release
|
||||
|
||||
Open a terminal or command prompt and type one of the following
|
||||
Stable Version: :code:`python3.8 -m pip install -U Red-DiscordBot`
|
||||
|
||||
.. note::
|
||||
|
||||
To install the development version, replace ``Red-DiscordBot`` in the above commands with the
|
||||
link below. **The development version of the bot contains experimental changes. It is not
|
||||
intended for normal users.** We will not support anyone using the development version in any
|
||||
support channels. Using the development version may break third party cogs and not all core
|
||||
commands may work. Downgrading to stable after installing the development version may cause
|
||||
data loss, crashes or worse. Please keep this in mind when using the development version
|
||||
while working on cog creation.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
git+https://github.com/Cog-Creators/Red-DiscordBot@V3/develop#egg=Red-DiscordBot
|
||||
|
||||
|
||||
(Windows users may need to use :code:`py -3.8` or :code:`python` instead of :code:`python3.8`)
|
||||
|
||||
--------------------
|
||||
Setting up a package
|
||||
@@ -35,6 +58,20 @@ a text editor or IDE (examples include `Sublime Text 3 <https://www.sublimetext.
|
||||
`Visual Studio Code <https://code.visualstudio.com/>`_, `Atom <https://atom.io/>`_, and
|
||||
`PyCharm <http://www.jetbrains.com/pycharm/>`_).
|
||||
|
||||
.. attention::
|
||||
While you can intentionally override Red's cogs/extensions, this may break things.
|
||||
We would prefer if people wanted custom behavior
|
||||
for any core cog/extension, an issue and/or PR is made
|
||||
Overriding Permissions specifically is dangerous.
|
||||
|
||||
Subclassing to make changes to Red's cogs/extensions
|
||||
may not be a safe way to stay up to date either,
|
||||
as changes to cogs and their interactions with red
|
||||
are not guaranteed to not be breaking.
|
||||
|
||||
Any cogs doing this are doing so at their own risk,
|
||||
and should also inform users of associated risks.
|
||||
|
||||
--------------
|
||||
Creating a cog
|
||||
--------------
|
||||
@@ -61,6 +98,7 @@ Open :code:`__init__.py`. In that file, place the following:
|
||||
|
||||
from .mycog import Mycog
|
||||
|
||||
|
||||
def setup(bot):
|
||||
bot.add_cog(Mycog())
|
||||
|
||||
@@ -74,7 +112,7 @@ To test your cog, you will need a running instance of V3.
|
||||
Assuming you installed V3 as outlined above, run :code:`redbot-setup`
|
||||
and provide the requested information. Once that's done, run Red
|
||||
by doing :code:`redbot <instance name> --dev` to start Red.
|
||||
Complete the inital setup by providing a valid token and setting a
|
||||
Complete the initial setup by providing a valid token and setting a
|
||||
prefix. Once the bot has started up, use the link provided in the
|
||||
console to add it to a server (note that you must have the
|
||||
:code:`Manage Server` (or :code:`Administrator`) permission to add bots
|
||||
@@ -85,6 +123,39 @@ to the directory where your cog package is located. In Discord, do
|
||||
The bot should respond with :code:`I can do stuff!`. If it did, you
|
||||
have successfully created a cog!
|
||||
|
||||
.. note:: **Package/Folder layout**
|
||||
|
||||
You must make sure you structure your local path correctly or
|
||||
you get an error about missing the setup function. As cogs are
|
||||
considered packages, they are each contained within separate folders.
|
||||
The folder you need to add using :code:`[p]addpath` is the parent
|
||||
folder of these package folders. Below is an example
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
- D:\
|
||||
-- red-env
|
||||
-- red-data
|
||||
-- red-cogs
|
||||
---- mycog
|
||||
------ __init__.py
|
||||
------ mycog.py
|
||||
---- coolcog
|
||||
------ __init__.py
|
||||
------ coolcog.py
|
||||
|
||||
You would then use :code:`[p]addpath D:\red-cogs` to add the path
|
||||
and then you can use :code:`[p]load mycog` or :code:`[p]load coolcog`
|
||||
to load them
|
||||
|
||||
You can also take a look at `our cookiecutter <https://github.com/Cog-Creators/cog-cookiecutter>`_, for help creating the right structure.
|
||||
|
||||
-------------------
|
||||
Publishing your cog
|
||||
-------------------
|
||||
|
||||
Go to :doc:`/guide_publish_cogs`
|
||||
|
||||
--------------------
|
||||
Additional resources
|
||||
--------------------
|
||||
@@ -92,3 +163,98 @@ Additional resources
|
||||
Be sure to check out the :doc:`/guide_migration` for some resources
|
||||
on developing cogs for V3. This will also cover differences between V2 and V3 for
|
||||
those who developed cogs for V2.
|
||||
|
||||
|
||||
.. _guidelines-for-cog-creators:
|
||||
|
||||
---------------------------
|
||||
Guidelines for Cog Creators
|
||||
---------------------------
|
||||
|
||||
The following are a list of guidelines Cog Creators should strive to follow.
|
||||
Not all of these are strict requirements (some are) but are all generally advisable.
|
||||
|
||||
1. Cogs should follow a few naming conventions for consistency.
|
||||
|
||||
- Cog classes should be TitleCased, using alphabetic characters only.
|
||||
- Commands should be lower case, using alphanumeric characters only.
|
||||
- Cog modules should be lower case, using alphabetic characters only.
|
||||
|
||||
2. Cogs and commands should have docstrings suitable for use in help output.
|
||||
|
||||
- This one is slightly flexible if using other methods of setting help.
|
||||
|
||||
3. Don't prevent normal operation of the bot without the user opting into this.
|
||||
|
||||
- This includes as a side effect by blocking the event loop.
|
||||
|
||||
4. If your cog uses logging:
|
||||
|
||||
- The namespace for logging should be: ``red.your_repo_name.cog_name``.
|
||||
- Print statements are not a substitute for proper logging.
|
||||
|
||||
5. If you use asyncio.create_task, your tasks need to:
|
||||
|
||||
- Be cancelled on cog unload.
|
||||
- Handle errors.
|
||||
|
||||
6. Event listeners should exit early if it is an event you don't need.
|
||||
This makes your events less expensive in terms of CPU time. Examples below:
|
||||
|
||||
- Checking that you are in a guild before interacting with config for an antispam command.
|
||||
- Checking that you aren't reacting to a bot message (``not message.author.bot``) early on.
|
||||
|
||||
7. Use .gitignore (or something else) to keep unwanted files out of your cog repo.
|
||||
8. Put a license on your cog repo.
|
||||
|
||||
- By default, in most jurisdictions, without a license that at least offers the code for use,
|
||||
users cannot legally use your code.
|
||||
|
||||
9. Use botwide features when they apply. Some examples of this:
|
||||
|
||||
- ``ctx.embed_color``
|
||||
- ``bot.is_automod_immune``
|
||||
|
||||
10. Use checks to limit command use when the bot needs special permissions.
|
||||
11. Check against user input before doing things. Common things to check:
|
||||
|
||||
- Resulting output is safe.
|
||||
- Values provided make sense. (eg. no negative numbers for payday)
|
||||
- Don't unsafely use user input for things like database input.
|
||||
|
||||
12. Don't abuse bot internals.
|
||||
|
||||
- If you need access to something, ask us or open an issue.
|
||||
- If you're sure the current usage is safe, document why,
|
||||
but we'd prefer you work with us on ensuring you have access to what you need.
|
||||
|
||||
13. Update your cogs for breakage.
|
||||
|
||||
- We announce this in advance.
|
||||
- If you need help, ask.
|
||||
|
||||
14. Check events against `bot.cog_disabled_in_guild() <RedBase.cog_disabled_in_guild()>`
|
||||
|
||||
- Not all events need to be checked, only those that interact with a guild.
|
||||
- Some discretion may apply, for example,
|
||||
a cog which logs command invocation errors could choose to ignore this
|
||||
but a cog which takes actions based on messages should not.
|
||||
|
||||
15. Respect settings when treating non command messages as commands.
|
||||
|
||||
16. Handle user data responsibly
|
||||
|
||||
- Don't do unexpected things with user data.
|
||||
- Don't expose user data to additional audiences without permission.
|
||||
- Don't collect data your cogs don't need.
|
||||
- Don't store data in unexpected locations.
|
||||
Utilize the cog data path, Config, or if you need something more
|
||||
prompt the owner to provide it.
|
||||
|
||||
17. Utilize the data deletion and statement APIs
|
||||
|
||||
- See `redbot.core.commands.Cog.red_delete_data_for_user`
|
||||
- Make a statement about what data your cogs use with the module level
|
||||
variable ``__red_end_user_data_statement__``.
|
||||
This should be a string containing a user friendly explanation of what data
|
||||
your cog stores and why.
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
.. role:: python(code)
|
||||
:language: python
|
||||
|
||||
====================
|
||||
Migrating Cogs to V3
|
||||
====================
|
||||
==========================
|
||||
Migrating cogs from Red V2
|
||||
==========================
|
||||
|
||||
First, be sure to read `discord.py's migration guide <https://discordpy.readthedocs.io/en/v1.0.1/migrating.html>`_
|
||||
First, be sure to read :dpy_docs:`discord.py's migration guide <migrating.html>`
|
||||
as that covers all of the changes to discord.py that will affect the migration process
|
||||
|
||||
----------------
|
||||
|
||||
@@ -1,10 +1,35 @@
|
||||
.. downloader framework reference
|
||||
.. Publishing cogs for V3
|
||||
|
||||
Downloader Framework
|
||||
====================
|
||||
Publishing cogs for Red V3
|
||||
==========================
|
||||
|
||||
Info.json
|
||||
*********
|
||||
Users of Red install 3rd-party cogs using Downloader cog. To make your cog available
|
||||
to install for others, you will have to create a git repository
|
||||
and publish it on git repository hosting (for example `GitHub <https://github.com>`_)
|
||||
|
||||
Repository Template
|
||||
-------------------
|
||||
|
||||
We have standardized what a repository's structure should look like to better assist
|
||||
our Downloader system and provide essential information to the Red portal.
|
||||
|
||||
The main repository should contain at a minimum:
|
||||
|
||||
- :ref:`An info.json file <info-json-format>`
|
||||
- One folder for each cog package in the repository
|
||||
|
||||
- refer to :doc:`/guide_cog_creation` for information on how to create a valid cog package
|
||||
- you should also put :ref:`info.json file <info-json-format>` inside each cog folder
|
||||
|
||||
We also recommend adding a license and README file with general information about the repository.
|
||||
|
||||
For a simple example of what this might look like when finished,
|
||||
take a look at `our example template <https://github.com/Cog-Creators/Applications>`_.
|
||||
|
||||
.. _info-json-format:
|
||||
|
||||
Info.json format
|
||||
----------------
|
||||
|
||||
The optional info.json file may exist inside every package folder in the repo,
|
||||
as well as in the root of the repo. The following sections describe the valid
|
||||
@@ -16,7 +41,7 @@ Keys common to both repo and cog info.json (case sensitive)
|
||||
- ``author`` (list of strings) - list of names of authors of the cog or repo.
|
||||
|
||||
- ``description`` (string) - A long description of the cog or repo. For cogs, this
|
||||
is displayed when a user executes ``!cog info``.
|
||||
is displayed when a user executes ``[p]cog info``.
|
||||
|
||||
- ``install_msg`` (string) - The message that gets displayed when a cog
|
||||
is installed or a repo is added
|
||||
@@ -25,21 +50,28 @@ Keys common to both repo and cog info.json (case sensitive)
|
||||
used for installing.
|
||||
|
||||
- ``short`` (string) - A short description of the cog or repo. For cogs, this info
|
||||
is displayed when a user executes ``!cog list``
|
||||
is displayed when a user executes ``[p]cog list``
|
||||
|
||||
Keys specific to the cog info.json (case sensitive)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
- ``end_user_data_statement`` (string) - A statement explaining what end user data the cog is storing.
|
||||
This is displayed when a user executes ``[p]cog info``. If the statement has changed since last update, user will be informed during the update.
|
||||
|
||||
- ``min_bot_version`` (string) - Min version number of Red in the format ``MAJOR.MINOR.MICRO``
|
||||
|
||||
- ``max_bot_version`` (string) - Max version number of Red in the format ``MAJOR.MINOR.MICRO``,
|
||||
if ``min_bot_version`` is newer than ``max_bot_version``, ``max_bot_version`` will be ignored
|
||||
|
||||
- ``min_python_version`` (list of integers) - Min version number of Python
|
||||
in the format ``[MAJOR, MINOR, PATCH]``
|
||||
|
||||
- ``hidden`` (bool) - Determines if a cog is visible in the cog list for a repo.
|
||||
|
||||
- ``disabled`` (bool) - Determines if a cog is available for install.
|
||||
|
||||
- ``required_cogs`` (map of cogname to repo URL) - A map of required cogs that this cog depends on.
|
||||
- ``required_cogs`` (dict mapping a cog name to repo URL) - A dict of required cogs that this cog depends on
|
||||
in the format ``{cog_name : repo_url}``.
|
||||
Downloader will not deal with this functionality but it may be useful for other cogs.
|
||||
|
||||
- ``requirements`` (list of strings) - list of required libraries that are
|
||||
@@ -52,39 +84,6 @@ Keys specific to the cog info.json (case sensitive)
|
||||
- ``type`` (string) - Optional, defaults to ``COG``. Must be either ``COG`` or
|
||||
``SHARED_LIBRARY``. If ``SHARED_LIBRARY`` then ``hidden`` will be ``True``.
|
||||
|
||||
API Reference
|
||||
*************
|
||||
|
||||
.. automodule:: redbot.cogs.downloader.json_mixins
|
||||
|
||||
.. autoclass RepoJSONMixin
|
||||
:members
|
||||
|
||||
.. automodule:: redbot.cogs.downloader.installable
|
||||
|
||||
Installable
|
||||
^^^^^^^^^^^
|
||||
|
||||
.. autoclass:: Installable
|
||||
:members:
|
||||
|
||||
.. automodule:: redbot.cogs.downloader.repo_manager
|
||||
|
||||
Repo
|
||||
^^^^
|
||||
|
||||
.. autoclass:: Repo
|
||||
:members:
|
||||
|
||||
Repo Manager
|
||||
^^^^^^^^^^^^
|
||||
|
||||
.. autoclass:: RepoManager
|
||||
:members:
|
||||
|
||||
Exceptions
|
||||
^^^^^^^^^^
|
||||
|
||||
.. automodule:: redbot.cogs.downloader.errors
|
||||
:members:
|
||||
.. warning::
|
||||
Shared libraries are deprecated since version 3.2 and are marked for removal in version 3.4.
|
||||
|
||||
91
docs/host-list.rst
Normal file
@@ -0,0 +1,91 @@
|
||||
.. source: https://gist.github.com/Twentysix26/cb4401c6e507782aa6698e9e470243ed
|
||||
|
||||
.. _host-list:
|
||||
|
||||
=============
|
||||
VPS providers
|
||||
=============
|
||||
|
||||
.. note::
|
||||
This doc is written for the :ref:`hosting section <getting-started-hosting>`
|
||||
of the :ref:`getting started <getting-started>` guide. Please take a look
|
||||
if you don't know how to host Red on a VPS.
|
||||
|
||||
This is a list of the recommended VPS providers.
|
||||
|
||||
.. 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.
|
||||
|
||||
-------------
|
||||
Linux hosting
|
||||
-------------
|
||||
|
||||
+------------------------------------+------------------------------------------------------+
|
||||
|Link |Description |
|
||||
+====================================+======================================================+
|
||||
|`Scaleway |Incredibly cheap but powerful VPSes, owned by |
|
||||
|<https://www.scaleway.com/>`_ |`<https://online.net/>`_, based in Europe. |
|
||||
+------------------------------------+------------------------------------------------------+
|
||||
|`DigitalOcean |US-based cheap VPSes. The gold standard. Locations |
|
||||
|<https://www.digitalocean.com/>`_ |available world wide. |
|
||||
+------------------------------------+------------------------------------------------------+
|
||||
|`OVH <https://www.ovh.co.uk/>`_ |Cheap VPSes, used by many people. French and Canadian |
|
||||
| |locations available. |
|
||||
+------------------------------------+------------------------------------------------------+
|
||||
|`Time4VPS |Cheap VPSes, seemingly based in Lithuania. |
|
||||
|<https://www.time4vps.eu/>`_ | |
|
||||
+------------------------------------+------------------------------------------------------+
|
||||
|`Linode <https://www.linode.com/>`_ |More cheap VPSes! |
|
||||
+------------------------------------+------------------------------------------------------+
|
||||
|`Vultr <https://www.vultr.com/>`_ |US-based, DigitalOcean-like. |
|
||||
+------------------------------------+------------------------------------------------------+
|
||||
|
||||
------
|
||||
Others
|
||||
------
|
||||
|
||||
+-------------------------------------+-----------------------------------------------------+
|
||||
|Link | |
|
||||
+=====================================+=====================================================+
|
||||
|`AWS <https://aws.amazon.com/>`_ |Amazon Web Services. Free for a year (with certain |
|
||||
| |limits), but very pricey after that. |
|
||||
+-------------------------------------+-----------------------------------------------------+
|
||||
|`Google Cloud |Same as AWS, but it's Google. |
|
||||
|<https://cloud.google.com/compute/>`_| |
|
||||
+-------------------------------------+-----------------------------------------------------+
|
||||
|`Microsoft Azure |Same as AWS, but it's Microsoft. |
|
||||
|<https://azure.microsoft.com>`_ | |
|
||||
+-------------------------------------+-----------------------------------------------------+
|
||||
|`Oracle Cloud |Same as AWS, but it's Oracle. |
|
||||
|<https://oracle.com/cloud/>`_ | |
|
||||
+-------------------------------------+-----------------------------------------------------+
|
||||
|`LowEndBox <http://lowendbox.com/>`_ |A curator for lower specced servers. |
|
||||
+-------------------------------------+-----------------------------------------------------+
|
||||
|
||||
------------
|
||||
Self-hosting
|
||||
------------
|
||||
|
||||
You can always self-host on your own hardware.
|
||||
A Raspberry Pi 3 will be more than sufficient for small to medium sized bots.
|
||||
|
||||
For bigger bots, you can build your own server PC for usage, or buy a rack
|
||||
server. Any modern hardware should work 100% fine.
|
||||
|
||||
------------
|
||||
Free hosting
|
||||
------------
|
||||
|
||||
| `Google Cloud Compute Engine <https://cloud.google.com/free/docs/gcp-free-tier>`_,
|
||||
`Oracle Cloud Compute <https://oracle.com/cloud/free/#always-free>`_ and
|
||||
`AWS EC2 <https://aws.amazon.com/free/>`_ have free tier VPSes suitable for small bots.
|
||||
|
||||
| **Note:** AWS EC2's free tier does not last forever - it's a 12 month trial.
|
||||
| Additionally, new Google Cloud customers get a $300 credit which is valid
|
||||
for 12 months.
|
||||
|
||||
Other than that... no. There is no good free VPS hoster, outside of
|
||||
persuading somebody to host for you, which is incredibly unlikely.
|
||||
@@ -3,6 +3,8 @@
|
||||
You can adapt this file completely to your liking, but it should at least
|
||||
contain the root `toctree` directive.
|
||||
|
||||
.. _main:
|
||||
|
||||
Welcome to Red - Discord Bot's documentation!
|
||||
=============================================
|
||||
|
||||
@@ -12,23 +14,35 @@ Welcome to Red - Discord Bot's documentation!
|
||||
|
||||
install_windows
|
||||
install_linux_mac
|
||||
venv_guide
|
||||
update_red
|
||||
about_venv
|
||||
autostart_systemd
|
||||
autostart_pm2
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Cog Reference:
|
||||
|
||||
cog_customcom
|
||||
cog_downloader
|
||||
cog_permissions
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: User guides:
|
||||
|
||||
getting_started
|
||||
cog_guides/admin
|
||||
cog_guides/alias
|
||||
cog_guides/bank
|
||||
red_core_data_statement
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:caption: Red Development Framework Reference:
|
||||
|
||||
guide_migration
|
||||
guide_cog_creation
|
||||
guide_publish_cogs
|
||||
framework_apikeys
|
||||
framework_bank
|
||||
framework_bot
|
||||
@@ -37,19 +51,29 @@ Welcome to Red - Discord Bot's documentation!
|
||||
framework_commands
|
||||
framework_config
|
||||
framework_datamanager
|
||||
framework_downloader
|
||||
framework_events
|
||||
framework_i18n
|
||||
framework_modlog
|
||||
framework_rpc
|
||||
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
|
||||
|
||||
host-list
|
||||
|
||||
|
||||
Indices and tables
|
||||
==================
|
||||
|
||||
@@ -7,7 +7,8 @@ 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, see the man page for the ``useradd`` command.
|
||||
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
|
||||
@@ -16,10 +17,23 @@ Installing the pre-requirements
|
||||
Please install the pre-requirements using the commands listed for your operating system.
|
||||
|
||||
The pre-requirements are:
|
||||
- Python 3.7.0 or greater
|
||||
- pip 9.0 or greater
|
||||
- git
|
||||
- Java Runtime Environment 8 or later (for audio support)
|
||||
- Python 3.8.1 or greater
|
||||
- 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.
|
||||
|
||||
|
||||
*****************
|
||||
Operating systems
|
||||
*****************
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
----
|
||||
|
||||
.. _install-arch:
|
||||
|
||||
@@ -29,47 +43,97 @@ Arch Linux
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo pacman -Syu python-pip git base-devel jre8-openjdk
|
||||
sudo pacman -Syu python python-pip git jre11-openjdk-headless base-devel
|
||||
|
||||
.. _install-centos:
|
||||
.. _install-fedora:
|
||||
.. _install-rhel:
|
||||
Continue by `creating-venv-linux`.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
CentOS 7, Fedora, and RHEL
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
----
|
||||
|
||||
.. _install-centos7:
|
||||
.. _install-rhel7:
|
||||
|
||||
~~~~~~~~~~~~~~~~~
|
||||
CentOS and RHEL 7
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
yum -y groupinstall development
|
||||
yum -y install https://centos7.iuscommunity.org/ius-release.rpm
|
||||
sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel \
|
||||
openssl-devel xz xz-devel libffi-devel git2u java-1.8.0-openjdk
|
||||
sudo yum -y groupinstall development
|
||||
sudo yum -y install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel \
|
||||
openssl-devel xz xz-devel tk-devel libffi-devel findutils java-11-openjdk-headless
|
||||
sudo yum -y install centos-release-scl
|
||||
sudo yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++
|
||||
echo "source scl_source enable devtoolset-8" >> ~/.bashrc
|
||||
source ~/.bashrc
|
||||
|
||||
Complete the rest of the installation by `installing Python 3.7 with pyenv <install-python-pyenv>`.
|
||||
In order to install Git 2.11 or greater, we recommend adding the IUS repository:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
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
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo yum -y install epel-release
|
||||
sudo yum -y update
|
||||
sudo yum -y groupinstall development
|
||||
sudo yum -y install git zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel \
|
||||
openssl-devel xz xz-devel tk-devel libffi-devel findutils java-11-openjdk-headless
|
||||
|
||||
Complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
|
||||
|
||||
----
|
||||
|
||||
.. _install-debian:
|
||||
.. _install-raspbian:
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Debian and Raspbian Stretch
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. warning::
|
||||
|
||||
Audio will not work on Raspberry Pi's **below** 2B. This is a CPU problem and
|
||||
*cannot* be fixed.
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Debian and Raspbian Buster
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
We recommend installing pyenv as a method of installing non-native versions of python on
|
||||
Debian/Raspbian Stretch. This guide will tell you how. First, run the following commands:
|
||||
Debian/Raspbian Buster. This guide will tell you how. First, run the following commands:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
|
||||
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
|
||||
xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git unzip default-jre
|
||||
sudo apt update
|
||||
sudo apt -y install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev \
|
||||
libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev \
|
||||
libffi-dev liblzma-dev libgdbm-dev uuid-dev python3-openssl git openjdk-11-jre-headless
|
||||
CXX=/usr/bin/g++
|
||||
|
||||
Complete the rest of the installation by `installing Python 3.7 with pyenv <install-python-pyenv>`.
|
||||
Complete the rest of the installation by `installing Python 3.8 with pyenv <install-python-pyenv>`.
|
||||
|
||||
----
|
||||
|
||||
.. _install-fedora:
|
||||
|
||||
~~~~~~~~~~~~
|
||||
Fedora Linux
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Fedora Linux 31 and above has all required packages available in official repositories. Install
|
||||
them with dnf:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo dnf -y install python38 git java-11-openjdk-headless @development-tools
|
||||
|
||||
Continue by `creating-venv-linux`.
|
||||
|
||||
----
|
||||
|
||||
.. _install-mac:
|
||||
|
||||
@@ -82,77 +146,231 @@ following, then press Enter:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
||||
/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:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
brew install python --with-brewed-openssl
|
||||
brew install python@3.8
|
||||
echo 'export PATH="/usr/local/opt/python@3.8/bin:$PATH"' >> ~/.profile
|
||||
source ~/.profile
|
||||
brew install git
|
||||
brew tap caskroom/versions
|
||||
brew cask install homebrew/cask-versions/adoptopenjdk8
|
||||
brew cask install adoptopenjdk/openjdk/adoptopenjdk11
|
||||
|
||||
It's possible you will have network issues. If so, go in your Applications folder, inside it, go in the Python 3.7 folder then double click ``Install certificates.command``
|
||||
Continue by `creating-venv-linux`.
|
||||
|
||||
----
|
||||
|
||||
.. _install-opensuse:
|
||||
|
||||
~~~~~~~~
|
||||
openSUSE
|
||||
~~~~~~~~
|
||||
|
||||
openSUSE Leap 15.1+
|
||||
*******************
|
||||
|
||||
We recommend installing a community package to get Python 3.8 on openSUSE Leap 15.1+. This package will
|
||||
be installed to the ``/opt`` directory.
|
||||
|
||||
First, add the Opt-Python community repository:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
source /etc/os-release
|
||||
sudo zypper -n ar -f \
|
||||
https://download.opensuse.org/repositories/home:/Rotkraut:/Opt-Python/openSUSE_Leap_${VERSION_ID}/ \
|
||||
Opt-Python
|
||||
sudo zypper -n --gpg-auto-import-keys ref
|
||||
|
||||
Now install the pre-requirements with zypper:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo zypper -n install opt-python38 opt-python38-setuptools git-core java-11-openjdk-headless
|
||||
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:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
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:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
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:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo zypper -n install python3-base python3-pip git-core java-11-openjdk-headless
|
||||
sudo zypper -n install -t pattern devel_basis
|
||||
|
||||
Continue by `creating-venv-linux`.
|
||||
|
||||
----
|
||||
|
||||
.. _install-ubuntu-1604:
|
||||
|
||||
~~~~~~~~~~~~~~~~
|
||||
Ubuntu 16.04 LTS
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
We recommend adding the ``openjdk-r`` ppa to install Java 11:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo apt update
|
||||
sudo apt -y install software-properties-common
|
||||
sudo add-apt-repository -yu ppa:openjdk-r/ppa
|
||||
|
||||
We recommend adding the ``git-core`` ppa to install Git 2.11 or greater:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo add-apt-repository -yu ppa:git-core/ppa
|
||||
|
||||
We recommend adding the ``deadsnakes`` ppa to install Python 3.8.1 or greater:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo add-apt-repository -yu ppa:deadsnakes/ppa
|
||||
|
||||
Now install the pre-requirements with apt:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo apt -y install python3.8 python3.8-dev python3.8-venv python3-pip git openjdk-11-jre-headless \
|
||||
build-essential
|
||||
|
||||
Continue by `creating-venv-linux`.
|
||||
|
||||
----
|
||||
|
||||
.. _install-ubuntu-1804:
|
||||
|
||||
~~~~~~~~~~~~~~~~
|
||||
Ubuntu 18.04 LTS
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
We recommend adding the ``git-core`` ppa to install Git 2.11 or greater:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
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:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo add-apt-repository -y ppa:deadsnakes/ppa
|
||||
|
||||
Now install the pre-requirements with apt:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo apt -y install python3.8 python3.8-dev python3.8-venv python3-pip git openjdk-11-jre-headless \
|
||||
build-essential
|
||||
|
||||
Continue by `creating-venv-linux`.
|
||||
|
||||
----
|
||||
|
||||
.. _install-ubuntu:
|
||||
.. _install-ubuntu-bionic:
|
||||
.. _install-ubuntu-cosmic:
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Ubuntu 18.04 Bionic Beaver and 18.10 Cosmic Cuttlefish
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
~~~~~~~~~~~~~~~~
|
||||
Ubuntu 20.04 LTS
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
We recommend adding the ``git-core`` ppa to install Git 2.11 or greater:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo apt install python3.7 python3.7-dev python3.7-venv python3-pip build-essential \
|
||||
libssl-dev libffi-dev git unzip default-jre -y
|
||||
|
||||
.. _install-ubuntu-xenial:
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Ubuntu 16.04 Xenial Xerus
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
We recommend adding the ``deadsnakes`` apt repository to install Python 3.7 or greater:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo apt install software-properties-common
|
||||
sudo add-apt-repository ppa:deadsnakes/ppa
|
||||
sudo apt update
|
||||
sudo apt -y install software-properties-common
|
||||
sudo add-apt-repository -y ppa:git-core/ppa
|
||||
|
||||
Now, install python, pip, git and java with the following commands:
|
||||
Now install the pre-requirements with apt:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo apt install python3.7 python3.7-dev build-essential libssl-dev libffi-dev git \
|
||||
unzip default-jre curl -y
|
||||
curl https://bootstrap.pypa.io/get-pip.py | sudo python3.7
|
||||
sudo apt -y install python3.8 python3.8-dev python3.8-venv python3-pip git openjdk-11-jre-headless \
|
||||
build-essential
|
||||
|
||||
Continue by `creating-venv-linux`.
|
||||
|
||||
----
|
||||
|
||||
.. _install-ubuntu-non-lts:
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Ubuntu non-LTS versions
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
We recommend adding the ``git-core`` ppa to install Git 2.11 or greater:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
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:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
sudo apt -y install make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev \
|
||||
libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev \
|
||||
libxmlsec1-dev libffi-dev liblzma-dev libgdbm-dev uuid-dev python3-openssl git openjdk-11-jre-headless
|
||||
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
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
****************************
|
||||
|
||||
On distributions where Python 3.7 needs to be compiled from source, we recommend the use of 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.
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | 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.
|
||||
**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:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
CONFIGURE_OPTS=--enable-optimizations pyenv install 3.7.2 -v
|
||||
CONFIGURE_OPTS=--enable-optimizations pyenv install 3.8.5 -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
|
||||
@@ -164,16 +382,94 @@ After that is finished, run:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
pyenv global 3.7.2
|
||||
pyenv global 3.8.5
|
||||
|
||||
Pyenv is now installed and your system should be configured to run Python 3.7.
|
||||
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
|
||||
------------------------------
|
||||
|
||||
We **strongly** recommend installing Red into a virtual environment. See the section
|
||||
`installing-in-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::
|
||||
|
||||
python3.8 -m venv ~/redenv
|
||||
|
||||
And activate it with the following command::
|
||||
|
||||
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::
|
||||
|
||||
pyenv version
|
||||
|
||||
Now, create a virtual environment with the following command::
|
||||
|
||||
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::
|
||||
|
||||
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:
|
||||
|
||||
@@ -183,31 +479,24 @@ Installing Red
|
||||
|
||||
Choose one of the following commands to install Red.
|
||||
|
||||
.. note::
|
||||
|
||||
If you're not inside an activated virtual environment, include the ``--user`` flag with all
|
||||
``python3.7 -m pip`` commands.
|
||||
|
||||
To install without MongoDB support:
|
||||
To install without additional config backend support:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
python3.7 -m pip install -U Red-DiscordBot
|
||||
python -m pip install -U pip setuptools wheel
|
||||
python -m pip install -U Red-DiscordBot
|
||||
|
||||
Or, to install with MongoDB support:
|
||||
Or, to install with PostgreSQL support:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
python3.7 -m pip install -U Red-DiscordBot[mongo]
|
||||
python -m pip install -U pip setuptools wheel
|
||||
python -m pip install -U Red-DiscordBot[postgres]
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
To install the development version, replace ``Red-DiscordBot`` in the above commands with the
|
||||
following link:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
git+https://github.com/Cog-Creators/Red-DiscordBot@V3/develop#egg=Red-DiscordBot
|
||||
These commands are also used for updating Red
|
||||
|
||||
--------------------------
|
||||
Setting Up and Running Red
|
||||
@@ -231,14 +520,9 @@ Once done setting up the instance, run the following command to run Red:
|
||||
|
||||
It will walk through the initial setup, asking for your token and a prefix.
|
||||
You can find out how to obtain a token with
|
||||
`this guide <https://discordpy.readthedocs.io/en/v1.0.1/discord.html#creating-a-bot-account>`_,
|
||||
:dpy_docs:`this guide <discord.html#creating-a-bot-account>`,
|
||||
section "Creating a Bot Account".
|
||||
|
||||
You may also run Red via the launcher, which allows you to restart the bot
|
||||
from discord, and enable auto-restart. You may also update the bot from the
|
||||
launcher menu. Use the following command to run the launcher:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
redbot-launcher
|
||||
|
||||
.. 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.
|
||||
|
||||
@@ -4,48 +4,126 @@
|
||||
Installing Red on Windows
|
||||
=========================
|
||||
|
||||
---------------
|
||||
Needed Software
|
||||
---------------
|
||||
-------------------------------
|
||||
Installing the pre-requirements
|
||||
-------------------------------
|
||||
|
||||
The following software dependencies can all be installed quickly and easily through powershell,
|
||||
using a trusted package manager for windows called `Chocolatey <https://chocolatey.org>`_
|
||||
Please install the pre-requirements by following instructions from one of the following subsections.
|
||||
|
||||
We also provide instructions for manually installing all of the dependencies.
|
||||
The pre-requirements are:
|
||||
- Python 3.8.1 or greater
|
||||
- Pip 18.1 or greater
|
||||
- Git 2.11+
|
||||
- Java Runtime Environment 11 (for audio support)
|
||||
|
||||
******************************************
|
||||
Installing using powershell and chocolatey
|
||||
******************************************
|
||||
We also recommend installing some basic compiler tools, in case our dependencies don't provide
|
||||
pre-built "wheels" for your architecture.
|
||||
|
||||
To install via powershell, search "powershell" in the windows start menu,
|
||||
right-click on it and then click "Run as administrator"
|
||||
.. contents:: Choose a method of installing pre-requirements:
|
||||
:local:
|
||||
|
||||
----
|
||||
|
||||
*********************************************
|
||||
Using PowerShell and Chocolatey (recommended)
|
||||
*********************************************
|
||||
|
||||
To install via PowerShell, search "powershell" in the Windows start menu,
|
||||
right-click on it and then click "Run as administrator".
|
||||
|
||||
Then run each of the following commands:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
Set-ExecutionPolicy Bypass -Scope Process -Force
|
||||
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
|
||||
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
|
||||
choco install git --params "/GitOnlyOnPath /WindowsTerminal" -y
|
||||
choco install jre8 python -y; exit
|
||||
choco upgrade git --params "/GitOnlyOnPath /WindowsTerminal" -y
|
||||
choco upgrade visualstudio2019-workload-vctools -y
|
||||
choco upgrade python3 -y
|
||||
|
||||
For Audio support, you should also run the following command before exiting:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
choco upgrade adoptopenjdk11jre -y
|
||||
|
||||
|
||||
From here, exit the prompt then continue onto `creating-venv-windows`.
|
||||
|
||||
----
|
||||
|
||||
********************************
|
||||
Manually installing dependencies
|
||||
********************************
|
||||
|
||||
* `Python <https://www.python.org/downloads/>`_ - Red needs Python 3.7.0 or greater
|
||||
.. attention:: There are additional configuration steps required which are
|
||||
not documented for installing dependencies manually.
|
||||
These dependencies are only listed seperately here for
|
||||
reference purposes.
|
||||
|
||||
.. note:: Please make sure that the box to add Python to PATH is CHECKED, otherwise
|
||||
you may run into issues when trying to run Red.
|
||||
* `MSVC Build tools <https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2019>`_
|
||||
|
||||
* `Git <https://git-scm.com/download/win>`_
|
||||
* `Python 3.8.1 or greater <https://www.python.org/downloads/>`_
|
||||
|
||||
.. attention:: Please choose the option to "Run Git from the Windows Command Prompt" in Git's setup.
|
||||
.. 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.
|
||||
|
||||
* `Java <https://java.com/en/download/manual.jsp>`_ - needed for Audio
|
||||
* `Git 2.11+ <https://git-scm.com/download/win>`_
|
||||
|
||||
.. 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
|
||||
|
||||
From here, continue onto `creating-venv-windows`.
|
||||
|
||||
----
|
||||
|
||||
.. _creating-venv-windows:
|
||||
|
||||
------------------------------
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
Start with opening a command prompt (open Start, search for "command prompt", then click it).
|
||||
|
||||
.. note::
|
||||
|
||||
You shouldn't run command prompt as administrator when creating your virtual environment, or
|
||||
running Red.
|
||||
|
||||
.. warning::
|
||||
|
||||
These commands will not work in PowerShell - you have to use command prompt as said above.
|
||||
|
||||
Then create your virtual environment with the following command
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
py -3.8 -m venv "%userprofile%\redenv"
|
||||
|
||||
And activate it with the following command
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
"%userprofile%\redenv\Scripts\activate.bat"
|
||||
|
||||
.. important::
|
||||
|
||||
You must activate the virtual environment with the above command every time you open a new
|
||||
Command Prompt to run, install or update Red.
|
||||
|
||||
.. attention:: Please choose the "Windows Online" installer.
|
||||
|
||||
.. _installing-red-windows:
|
||||
|
||||
@@ -56,35 +134,21 @@ Installing Red
|
||||
.. attention:: You may need to restart your computer after installing dependencies
|
||||
for the PATH changes to take effect.
|
||||
|
||||
1. Open a command prompt (open Start, search for "command prompt", then click it)
|
||||
2. Create and activate a virtual environment (strongly recommended), see the section `using-venv`
|
||||
3. Run **one** of the following commands, depending on what extras you want installed
|
||||
Run **one** of the following set of commands, depending on what extras you want installed
|
||||
|
||||
.. note::
|
||||
|
||||
If you're not inside an activated virtual environment, include the ``--user`` flag with all
|
||||
``pip`` commands.
|
||||
|
||||
* No MongoDB support:
|
||||
* Normal installation:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
python -m pip install -U pip setuptools wheel
|
||||
python -m pip install -U Red-DiscordBot
|
||||
|
||||
* With MongoDB support:
|
||||
* With PostgreSQL support:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
python -m pip install -U Red-DiscordBot[mongo]
|
||||
|
||||
.. note::
|
||||
|
||||
To install the development version, replace ``Red-DiscordBot`` in the above commands with the
|
||||
following link:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
git+https://github.com/Cog-Creators/Red-DiscordBot@V3/develop#egg=Red-DiscordBot
|
||||
python -m pip install -U pip setuptools wheel
|
||||
python -m pip install -U Red-DiscordBot[postgres]
|
||||
|
||||
--------------------------
|
||||
Setting Up and Running Red
|
||||
@@ -108,13 +172,9 @@ Once done setting up the instance, run the following command to run Red:
|
||||
|
||||
It will walk through the initial setup, asking for your token and a prefix.
|
||||
You can find out how to obtain a token with
|
||||
`this guide <https://discordpy.readthedocs.io/en/v1.0.1/discord.html#creating-a-bot-account>`_,
|
||||
:dpy_docs:`this guide <discord.html#creating-a-bot-account>`,
|
||||
section "Creating a Bot Account".
|
||||
|
||||
You may also run Red via the launcher, which allows you to restart the bot
|
||||
from discord, and enable auto-restart. You may also update the bot from the
|
||||
launcher menu. Use the following command to run the launcher:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
redbot-launcher
|
||||
.. 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.
|
||||
|
||||
50
docs/prolog.txt
Normal file
@@ -0,0 +1,50 @@
|
||||
.. This file will be run at the beginning of all files.
|
||||
You can add the subsitutions you need.
|
||||
|
||||
.. this is a .txt so sphinx doesn't error because it's
|
||||
missing in the index
|
||||
|
||||
|
||||
.. These are the comments for permissions locks
|
||||
|
||||
.. |owner-lock| replace:: This command is locked to the
|
||||
:ref:`bot owner <getting-started-permissions>`.
|
||||
|
||||
.. |guildowner-lock| replace:: This command is locked to the
|
||||
:ref:`server owner <getting-started-permissions>`.
|
||||
|
||||
.. |admin-lock| replace:: This command is locked to the
|
||||
:ref:`admin role <getting-started-permissions>`.
|
||||
|
||||
.. |mod-lock| replace:: This command is locked to the
|
||||
:ref:`mod role <getting-started-permissions>`.
|
||||
|
||||
|
||||
.. This is for describing how a format should be formatted
|
||||
|
||||
.. |role-input| replace:: Please give **the exact role name or ID**, or it won't be detected.
|
||||
|
||||
.. |role-input-quotes| replace:: Please give **the exact role name or ID**, or it won't be detected.
|
||||
If the role name has spaces, provide it enclosed in quotes like this: ``"my role with spaces"``
|
||||
|
||||
.. |member-input| replace:: You can either mention the member, provide its ID, its exact name with
|
||||
the tag or not, or its nickname.
|
||||
|
||||
.. |member-input-quotes| replace:: You can either mention the member, provide its ID, its exact
|
||||
name with the tag or not, or its nickname enclosed in quotes if there are spaces.
|
||||
|
||||
.. |user-input| replace:: You can either provide the member's ID or its exact name with the tag or
|
||||
not.
|
||||
|
||||
.. |user-input-quotes| replace:: You can either provide the member's ID or its exact name with the
|
||||
tag or not, enclosed in quotes if there are spaces.
|
||||
|
||||
.. |channel-input| replace:: You can either mention the channel, provide its exact name or its ID.
|
||||
|
||||
.. |vc-input| replace:: You can either provide the voice channel's ID or its exact name.
|
||||
|
||||
.. |vc-input-quotes| replace:: You can either provide the voice channel's ID or its exact name,
|
||||
enclosed in quotes if there are spaces.
|
||||
|
||||
.. |color-input| replace:: You can either provide the hexadecimal code of the color, or one of the
|
||||
colors listed here: :class:`discord.Color`.
|
||||
87
docs/red_core_data_statement.rst
Normal file
@@ -0,0 +1,87 @@
|
||||
.. Red Core Data Statement
|
||||
|
||||
=====================
|
||||
Red and End User Data
|
||||
=====================
|
||||
|
||||
Notes for everyone
|
||||
******************
|
||||
|
||||
What data Red collects
|
||||
----------------------
|
||||
|
||||
Red and the cogs included with it collect some amount of data
|
||||
about users for the bot's normal operations.
|
||||
|
||||
The bot will keep track of a short history of usernames/nicknames. It will also
|
||||
remember which actions were taken using your Discord account (such as creating a playlist)
|
||||
as well as the content of specific messages used directly as commands for the bot
|
||||
(such as reports sent to servers).
|
||||
|
||||
By default, Red will not collect any more data than it needs, and will not use it
|
||||
for anything other than the portion of the Red's functionality that necessitated it.
|
||||
|
||||
3rd party extensions may store additional data beyond what Red does by default.
|
||||
You can use the command ``[p]mydata 3rdparty``
|
||||
to view statements about how extensions use your data made by the authors of
|
||||
the specific 3rd party extensions an instance of Red has installed.
|
||||
|
||||
How can I delete data Red has about me?
|
||||
---------------------------------------
|
||||
|
||||
The command ``[p]mydata forgetme`` provides a way for users to remove
|
||||
large portions of their own data from the bot. This command will not
|
||||
remove operational data, such as a record that your
|
||||
Discord account was the target of a moderation action.
|
||||
|
||||
3rd party extensions to Red are able to delete data when this command
|
||||
is used as well, but this is something each extension must implement.
|
||||
If a loaded extension does not implement this, the user will be informed.
|
||||
|
||||
Additional Notes for Bot Owners and Hosts
|
||||
*****************************************
|
||||
|
||||
How to comply with a request from Discord Trust & Safety
|
||||
--------------------------------------------------------
|
||||
|
||||
There are a handful of these available to bot owners in the command group
|
||||
``[p]mydata ownermanagement``.
|
||||
|
||||
The most pertinent one if asked to delete data by a member of Trust & Safety
|
||||
is
|
||||
|
||||
``[p]mydata ownermanagement processdiscordrequest``
|
||||
|
||||
This will cause the bot to get rid of or disassociate all data
|
||||
from the specified user ID.
|
||||
|
||||
.. warning::
|
||||
|
||||
You should not use this unless
|
||||
Discord has specifically requested this with regard to a deleted user.
|
||||
This will remove the user from various anti-abuse measures.
|
||||
If you are processing a manual request from a user, read the next section
|
||||
|
||||
|
||||
How to process deletion requests from users
|
||||
-------------------------------------------
|
||||
|
||||
You can point users to the command ``[p]mydata forgetme`` as a first step.
|
||||
|
||||
If users cannot use that for some reason, the command
|
||||
|
||||
``[p]mydata ownermanagement deleteforuser``
|
||||
|
||||
exists as a way to handle this as if the user had done it themselves.
|
||||
|
||||
Be careful about using the other owner level deletion options on behalf of users,
|
||||
as this may also result in losing operational data such as data used to prevent spam.
|
||||
|
||||
What owners and hosts are responsible for
|
||||
-----------------------------------------
|
||||
|
||||
Owners and hosts must comply both with Discord's terms of service and any applicable laws.
|
||||
Owners and hosts are responsible for all actions their bot takes.
|
||||
|
||||
We cannot give specific guidance on this, but recommend that if there are any issues
|
||||
you be forthright with users, own up to any mistakes, and do your best to handle it.
|
||||
50
docs/release_notes_3_2_0.rst
Normal file
@@ -0,0 +1,50 @@
|
||||
.. 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.
|
||||
135
docs/update_red.rst
Normal file
@@ -0,0 +1,135 @@
|
||||
============
|
||||
Updating Red
|
||||
============
|
||||
|
||||
Updating to the latest version of Red has several benefits:
|
||||
|
||||
- New features and improvements are added.
|
||||
- Bugs are fixed.
|
||||
- Your bot is safe from security vulnerabilities that have been found.
|
||||
|
||||
Here are some things to consider to help make your upgrade as smooth as possible.
|
||||
|
||||
.. note::
|
||||
|
||||
If you're developing for Red, you should also look for "Breaking changes" sections in release notes for each minor (X.Y.0) version that's been released since you last updated Red.
|
||||
|
||||
Updating differs depending on the version you currently have. Next sections will explain how to upgrade to latest version of Red (|version|) from the version that is in the header of the section.
|
||||
|
||||
.. contents:: Choose the version you're currently on from the list below:
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
|
||||
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:
|
||||
|
||||
1. Shut your bot down.
|
||||
|
||||
2. Activate your venv with the following command:
|
||||
|
||||
.. code:: none
|
||||
|
||||
"%userprofile%\redenv\Scripts\activate.bat"
|
||||
|
||||
3. Update Red with this command:
|
||||
|
||||
.. code:: none
|
||||
|
||||
python -m pip install -U Red-DiscordBot
|
||||
|
||||
.. attention::
|
||||
|
||||
If you're using PostgreSQL data backend, replace ``Red-DiscordBot`` in the second command with ``Red-DiscordBot[postgres]``
|
||||
|
||||
4. Start your bot.
|
||||
|
||||
Linux & Mac
|
||||
-----------
|
||||
|
||||
If you have Red 3.2.0 or newer, you can upgrade by following these 4 easy steps:
|
||||
|
||||
1. Shut your bot down.
|
||||
|
||||
2. Activate your virtual environment.
|
||||
|
||||
If you used ``venv`` for your virtual environment, use:
|
||||
|
||||
.. code:: none
|
||||
|
||||
source ~/redenv/bin/activate
|
||||
|
||||
If you used ``pyenv`` for your virtual environment, use:
|
||||
|
||||
.. code:: none
|
||||
|
||||
pyenv shell <name>
|
||||
|
||||
3. Update Red with this command:
|
||||
|
||||
.. code:: none
|
||||
|
||||
python -m pip install -U Red-DiscordBot
|
||||
|
||||
.. attention::
|
||||
|
||||
If you're using PostgreSQL data backend, replace ``Red-DiscordBot`` in the second command with ``Red-DiscordBot[postgres]``
|
||||
|
||||
4. Start your bot.
|
||||
|
||||
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.
|
||||
|
||||
**If you already have Red installed in a virtual environment, you will need to delete it before starting this process.**
|
||||
|
||||
.. attention::
|
||||
|
||||
Red 3.2 dropped support for the MongoDB driver
|
||||
|
||||
- If you were not using the MongoDB driver, this does not affect 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 after update**,
|
||||
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
|
||||
|
||||
|
||||
Red 3.0.2 and older
|
||||
*******************
|
||||
|
||||
.. important::
|
||||
|
||||
Red 3.2 dropped support for the MongoDB driver
|
||||
|
||||
- If you were not using the MongoDB driver, this does not affect 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 updating**, you will need to convert your data to JSON backend,
|
||||
using following command:
|
||||
|
||||
.. code::
|
||||
|
||||
redbot-setup --edit
|
||||
|
||||
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.
|
||||
|
||||
**If you already have Red installed in a virtual environment, you will need to delete it before starting this process.**
|
||||
@@ -1,132 +0,0 @@
|
||||
.. _installing-in-virtual-environment:
|
||||
|
||||
=======================================
|
||||
Installing Red in a Virtual Environment
|
||||
=======================================
|
||||
Virtual environments allow you to isolate red's library dependencies, cog dependencies and python
|
||||
binaries from the rest of your system. It is strongly recommended you use this if you use python
|
||||
for more than just Red.
|
||||
|
||||
.. _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
|
||||
``path/to/venv/`` (or ``path\to\venv\`` on Windows).
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
``venv`` on Linux or Mac
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Create your virtual environment with the following command::
|
||||
|
||||
python3.7 -m venv path/to/venv/
|
||||
|
||||
And activate it with the following command::
|
||||
|
||||
source path/to/venv/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 reading `below <after-activating-virtual-environment>`.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
``venv`` on Windows
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
Create your virtual environment with the following command::
|
||||
|
||||
python -m venv path\to\venv\
|
||||
|
||||
And activate it with the following command::
|
||||
|
||||
path\to\venv\Scripts\activate.bat
|
||||
|
||||
.. important::
|
||||
|
||||
You must activate the virtual environment with the above command every time you open a new
|
||||
Command Prompt to run, install or update Red.
|
||||
|
||||
Continue reading `below <after-activating-virtual-environment>`.
|
||||
|
||||
.. _using-pyenv-virtualenv:
|
||||
|
||||
--------------------------
|
||||
Using ``pyenv virtualenv``
|
||||
--------------------------
|
||||
|
||||
.. note::
|
||||
|
||||
This is for non-Windows users only.
|
||||
|
||||
Using ``pyenv virtualenv`` saves you the headache of remembering where you installed your virtual
|
||||
environments. If you haven't already, install pyenv with `pyenv-installer`_.
|
||||
|
||||
First, ensure your pyenv interpreter is set to python 3.7.0 or greater with the following command::
|
||||
|
||||
pyenv version
|
||||
|
||||
Now, create a virtual environment with the following command::
|
||||
|
||||
pyenv virtualenv <name>
|
||||
|
||||
Replace ``<name>`` with whatever you like. If you forget what you named it, use the command ``pyenv
|
||||
versions``.
|
||||
|
||||
Now activate your virtualenv with the following command::
|
||||
|
||||
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.
|
||||
|
||||
Continue reading `below <after-activating-virtual-environment>`.
|
||||
|
||||
.. _pyenv-installer: https://github.com/pyenv/pyenv-installer/blob/master/README.rst
|
||||
|
||||
----
|
||||
|
||||
.. _after-activating-virtual-environment:
|
||||
|
||||
Once activated, your ``PATH`` environment variable will be modified to use the virtual
|
||||
environment's python executables, as well as other executables like ``pip``.
|
||||
|
||||
From here, install Red using the commands listed on your installation guide (`Windows
|
||||
<installing-red-windows>` or `Non-Windows <installing-red-linux-mac>`).
|
||||
|
||||
.. note::
|
||||
|
||||
The alternative to activating the virtual environment each time you open a new shell is to
|
||||
provide the full path to the executable. This will automatically use the virtual environment's
|
||||
python interpreter and installed libraries.
|
||||
|
||||
--------------------------------------------
|
||||
Virtual Environments with Multiple Instances
|
||||
--------------------------------------------
|
||||
If you are running multiple instances of Red on the same machine, you have the option of either
|
||||
using the same virtual environment for all of them, or creating separate ones.
|
||||
|
||||
.. note::
|
||||
|
||||
This only applies for multiple instances of V3. If you are running a V2 instance as well,
|
||||
You **must** use separate virtual environments.
|
||||
|
||||
The advantages of using a *single* virtual environment for all of your V3 instances are:
|
||||
|
||||
- When updating Red, you will only need to update it once for all instances (however you will still need to restart all instances for the changes to take effect)
|
||||
- It will save space on your hard drive
|
||||
|
||||
On the other hand, you may wish to update each of your instances individually.
|
||||
|
||||
.. important::
|
||||
|
||||
Windows users with multiple instances should create *separate* virtual environments, as
|
||||
updating multiple running instances at once is likely to cause errors.
|
||||
43
docs/version_guarantees.rst
Normal file
@@ -0,0 +1,43 @@
|
||||
.. _version-guarantees:
|
||||
|
||||
==========
|
||||
Versioning
|
||||
==========
|
||||
|
||||
Red is versioned as ``major.minor.micro``
|
||||
|
||||
While this is very similar to SemVer, we have our own set of guarantees.
|
||||
|
||||
Major versions are for project wide rewrites and are not expected in the foreseeable future.
|
||||
|
||||
==========
|
||||
Guarantees
|
||||
==========
|
||||
|
||||
Anything in the ``redbot.core`` module or any of its submodules
|
||||
which is not private (even if not documented) should not break without notice.
|
||||
|
||||
Anything in the ``redbot.cogs`` and ``redbot.vendored`` modules or any of their submodules is specifically
|
||||
excluded from being guaranteed.
|
||||
|
||||
Method names and names of attributes of classes, functions, extensions, and modules
|
||||
provided by or provided to the bot should not begin with
|
||||
``red_`` or be of the form ``__red_*__`` except as documented.
|
||||
This allows us to add certain optional features non-breakingly without a name conflict.
|
||||
|
||||
Any RPC method exposed by Red may break without notice.
|
||||
|
||||
If you would like something in here to be guaranteed,
|
||||
open an issue making a case for it to be moved.
|
||||
|
||||
=======================
|
||||
Breaking Change Notices
|
||||
=======================
|
||||
|
||||
Breaking changes in Red will be noted in the changelog with a special section.
|
||||
|
||||
Breaking changes may only occur on a minor or major version bump.
|
||||
|
||||
A change not covered by our guarantees may not be considered breaking for these purposes,
|
||||
while still being documented as a breaking change in internal documentation
|
||||
for the purposes of other internal APIs.
|
||||
16
make.bat
@@ -5,24 +5,22 @@ if [%1] == [] goto help
|
||||
REM This allows us to expand variables at execution
|
||||
setlocal ENABLEDELAYEDEXPANSION
|
||||
|
||||
REM This will set PYFILES as a list of tracked .py files
|
||||
set PYFILES=
|
||||
for /F "tokens=* USEBACKQ" %%A in (`git ls-files "*.py"`) do (
|
||||
set PYFILES=!PYFILES! %%A
|
||||
)
|
||||
|
||||
goto %1
|
||||
|
||||
:reformat
|
||||
black -l 99 !PYFILES!
|
||||
black "%~dp0."
|
||||
exit /B %ERRORLEVEL%
|
||||
|
||||
:stylecheck
|
||||
black -l 99 --check !PYFILES!
|
||||
black --check "%~dp0."
|
||||
exit /B %ERRORLEVEL%
|
||||
|
||||
:stylediff
|
||||
black --check --diff "%~dp0."
|
||||
exit /B %ERRORLEVEL%
|
||||
|
||||
:newenv
|
||||
py -3.7 -m venv --clear .venv
|
||||
py -3.8 -m venv --clear .venv
|
||||
.\.venv\Scripts\python -m pip install -U pip setuptools
|
||||
goto syncenv
|
||||
|
||||
|
||||
23
pyproject.toml
Normal file
@@ -0,0 +1,23 @@
|
||||
[tool.black]
|
||||
line-length = 99
|
||||
target-version = ['py38']
|
||||
include = '\.py$'
|
||||
exclude = '''
|
||||
/(
|
||||
\.eggs
|
||||
| \.git
|
||||
| \.hg
|
||||
| \.mypy_cache
|
||||
| \.tox
|
||||
| \.venv
|
||||
| _build
|
||||
| buck-out
|
||||
| build
|
||||
| dist
|
||||
| redbot\/vendored
|
||||
)/
|
||||
'''
|
||||
|
||||
[tool.pytest.ini_options]
|
||||
minversion = "6.0"
|
||||
addopts = "--import-mode=importlib"
|
||||
@@ -1,3 +1,5 @@
|
||||
import asyncio as _asyncio
|
||||
import os as _os
|
||||
import re as _re
|
||||
import sys as _sys
|
||||
import warnings as _warnings
|
||||
@@ -13,11 +15,16 @@ from typing import (
|
||||
)
|
||||
|
||||
|
||||
MIN_PYTHON_VERSION = (3, 7, 0)
|
||||
MIN_PYTHON_VERSION = (3, 8, 1)
|
||||
|
||||
__all__ = ["MIN_PYTHON_VERSION", "__version__", "version_info", "VersionInfo"]
|
||||
|
||||
if _sys.version_info < MIN_PYTHON_VERSION:
|
||||
__all__ = [
|
||||
"MIN_PYTHON_VERSION",
|
||||
"__version__",
|
||||
"version_info",
|
||||
"VersionInfo",
|
||||
"_update_event_loop_policy",
|
||||
]
|
||||
if _sys.version_info < MIN_PYTHON_VERSION and not _os.getenv("READTHEDOCS", False):
|
||||
print(
|
||||
f"Python {'.'.join(map(str, MIN_PYTHON_VERSION))} is required to run Red, but you have "
|
||||
f"{_sys.version}! Please update Python."
|
||||
@@ -173,8 +180,36 @@ class VersionInfo:
|
||||
)
|
||||
|
||||
|
||||
__version__ = "3.1.5"
|
||||
def _update_event_loop_policy():
|
||||
if _sys.implementation.name == "cpython":
|
||||
# Let's not force this dependency, uvloop is much faster on cpython
|
||||
try:
|
||||
import uvloop as _uvloop
|
||||
except ImportError:
|
||||
pass
|
||||
else:
|
||||
_asyncio.set_event_loop_policy(_uvloop.EventLoopPolicy())
|
||||
|
||||
|
||||
__version__ = "3.4.0"
|
||||
version_info = VersionInfo.from_str(__version__)
|
||||
|
||||
# Filter fuzzywuzzy slow sequence matcher warning
|
||||
_warnings.filterwarnings("ignore", module=r"fuzzywuzzy.*")
|
||||
# Show DeprecationWarning
|
||||
_warnings.filterwarnings("default", category=DeprecationWarning)
|
||||
|
||||
if "--debug" not in _sys.argv:
|
||||
# DEP-WARN
|
||||
# Individual warnings - tracked in https://github.com/Cog-Creators/Red-DiscordBot/issues/3529
|
||||
# DeprecationWarning: an integer is required (got type float). Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.
|
||||
_warnings.filterwarnings("ignore", category=DeprecationWarning, module="importlib", lineno=219)
|
||||
# DeprecationWarning: "@coroutine" decorator is deprecated since Python 3.8, use "async def" instead
|
||||
# def noop(*args, **kwargs): # type: ignore
|
||||
_warnings.filterwarnings("ignore", category=DeprecationWarning, module="aiohttp", lineno=107)
|
||||
# DeprecationWarning: The loop argument is deprecated since Python 3.8, and scheduled for removal in Python 3.10.
|
||||
# hosts = await asyncio.shield(self._resolve_host(..
|
||||
_warnings.filterwarnings("ignore", category=DeprecationWarning, module="aiohttp", lineno=964)
|
||||
# DeprecationWarning: The loop argument is deprecated since Python 3.8, and scheduled for removal in Python 3.10.
|
||||
# self._event = asyncio.Event(loop=loop)
|
||||
_warnings.filterwarnings("ignore", category=DeprecationWarning, module="aiohttp", lineno=21)
|
||||
|
||||
@@ -1,40 +1,37 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# Discord Version check
|
||||
|
||||
import asyncio
|
||||
import functools
|
||||
import getpass
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
import pip
|
||||
import pkg_resources
|
||||
import platform
|
||||
import shutil
|
||||
import signal
|
||||
import sys
|
||||
from argparse import Namespace
|
||||
from copy import deepcopy
|
||||
from pathlib import Path
|
||||
from typing import NoReturn
|
||||
|
||||
import discord
|
||||
|
||||
# Set the event loop policies here so any subsequent `get_event_loop()`
|
||||
# Set the event loop policies here so any subsequent `new_event_loop()`
|
||||
# calls, in particular those as a result of the following imports,
|
||||
# return the correct loop object.
|
||||
if sys.platform == "win32":
|
||||
asyncio.set_event_loop_policy(asyncio.WindowsProactorEventLoopPolicy())
|
||||
elif sys.implementation.name == "cpython":
|
||||
# Let's not force this dependency, uvloop is much faster on cpython
|
||||
try:
|
||||
import uvloop
|
||||
except ImportError:
|
||||
uvloop = None
|
||||
pass
|
||||
else:
|
||||
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
|
||||
from redbot import _update_event_loop_policy, __version__
|
||||
|
||||
_update_event_loop_policy()
|
||||
|
||||
import redbot.logging
|
||||
from redbot.core.bot import Red, ExitCodes
|
||||
from redbot.core.cog_manager import CogManagerUI
|
||||
from redbot.core.global_checks import init_global_checks
|
||||
from redbot.core.events import init_events
|
||||
from redbot.core.cli import interactive_config, confirm, parse_cli_flags
|
||||
from redbot.core.core_commands import Core
|
||||
from redbot.core.dev_commands import Dev
|
||||
from redbot.core import __version__, modlog, bank, data_manager
|
||||
from signal import SIGTERM
|
||||
from redbot.setup import get_data_dir, get_name, save_config
|
||||
from redbot.core import data_manager, drivers
|
||||
from redbot.core._sharedlibdeprecation import SharedLibImportWarner
|
||||
|
||||
|
||||
log = logging.getLogger("red.main")
|
||||
@@ -46,14 +43,10 @@ log = logging.getLogger("red.main")
|
||||
#
|
||||
|
||||
|
||||
async def _get_prefix_and_token(red, indict):
|
||||
"""
|
||||
Again, please blame <@269933075037814786> for this.
|
||||
:param indict:
|
||||
:return:
|
||||
"""
|
||||
indict["token"] = await red.db.token()
|
||||
indict["prefix"] = await red.db.prefix()
|
||||
def _get_instance_names():
|
||||
with data_manager.config_file.open(encoding="utf-8") as fs:
|
||||
data = json.load(fs)
|
||||
return sorted(data.keys())
|
||||
|
||||
|
||||
def list_instances():
|
||||
@@ -64,42 +57,282 @@ def list_instances():
|
||||
)
|
||||
sys.exit(1)
|
||||
else:
|
||||
with data_manager.config_file.open(encoding="utf-8") as fs:
|
||||
data = json.load(fs)
|
||||
text = "Configured Instances:\n\n"
|
||||
for instance_name in sorted(data.keys()):
|
||||
for instance_name in _get_instance_names():
|
||||
text += "{}\n".format(instance_name)
|
||||
print(text)
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
async def sigterm_handler(red, log):
|
||||
log.info("SIGTERM received. Quitting...")
|
||||
await red.shutdown(restart=False)
|
||||
def debug_info():
|
||||
"""Shows debug information useful for debugging."""
|
||||
if sys.platform == "linux":
|
||||
import distro # pylint: disable=import-error
|
||||
|
||||
IS_WINDOWS = os.name == "nt"
|
||||
IS_MAC = sys.platform == "darwin"
|
||||
IS_LINUX = sys.platform == "linux"
|
||||
|
||||
pyver = sys.version
|
||||
pipver = pip.__version__
|
||||
redver = __version__
|
||||
dpy_version = discord.__version__
|
||||
if IS_WINDOWS:
|
||||
os_info = platform.uname()
|
||||
osver = "{} {} (version {})".format(os_info.system, os_info.release, os_info.version)
|
||||
elif IS_MAC:
|
||||
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()
|
||||
user_who_ran = getpass.getuser()
|
||||
info = (
|
||||
"Debug Info for Red\n\n"
|
||||
+ "Red version: {}\n".format(redver)
|
||||
+ "Python version: {}\n".format(pyver)
|
||||
+ "Python executable: {}\n".format(sys.executable)
|
||||
+ "Discord.py version: {}\n".format(dpy_version)
|
||||
+ "Pip version: {}\n".format(pipver)
|
||||
+ "OS version: {}\n".format(osver)
|
||||
+ "System arch: {}\n".format(platform.machine())
|
||||
+ "User: {}\n".format(user_who_ran)
|
||||
)
|
||||
print(info)
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
def main():
|
||||
description = "Red V3"
|
||||
cli_flags = parse_cli_flags(sys.argv[1:])
|
||||
if cli_flags.list_instances:
|
||||
list_instances()
|
||||
elif cli_flags.version:
|
||||
print(description)
|
||||
print("Current Version: {}".format(__version__))
|
||||
sys.exit(0)
|
||||
elif not cli_flags.instance_name and not cli_flags.no_instance:
|
||||
print("Error: No instance name was provided!")
|
||||
async def edit_instance(red, cli_flags):
|
||||
no_prompt = cli_flags.no_prompt
|
||||
token = cli_flags.token
|
||||
owner = cli_flags.owner
|
||||
prefix = cli_flags.prefix
|
||||
old_name = cli_flags.instance_name
|
||||
new_name = cli_flags.edit_instance_name
|
||||
data_path = cli_flags.edit_data_path
|
||||
copy_data = cli_flags.copy_data
|
||||
confirm_overwrite = cli_flags.overwrite_existing_instance
|
||||
|
||||
if data_path is None and copy_data:
|
||||
print("--copy-data can't be used without --edit-data-path argument")
|
||||
sys.exit(1)
|
||||
if cli_flags.no_instance:
|
||||
if new_name is None and confirm_overwrite:
|
||||
print("--overwrite-existing-instance can't be used without --edit-instance-name argument")
|
||||
sys.exit(1)
|
||||
if (
|
||||
no_prompt
|
||||
and all(to_change is None for to_change in (token, owner, new_name, data_path))
|
||||
and not prefix
|
||||
):
|
||||
print(
|
||||
"\033[1m"
|
||||
"Warning: The data will be placed in a temporary folder and removed on next system "
|
||||
"reboot."
|
||||
"\033[0m"
|
||||
"No arguments to edit were provided."
|
||||
" Available arguments (check help for more information):"
|
||||
" --edit-instance-name, --edit-data-path, --copy-data, --owner, --token, --prefix"
|
||||
)
|
||||
cli_flags.instance_name = "temporary_red"
|
||||
data_manager.create_temp_config()
|
||||
sys.exit(1)
|
||||
|
||||
await _edit_token(red, token, no_prompt)
|
||||
await _edit_prefix(red, prefix, no_prompt)
|
||||
await _edit_owner(red, owner, no_prompt)
|
||||
|
||||
data = deepcopy(data_manager.basic_config)
|
||||
name = _edit_instance_name(old_name, new_name, confirm_overwrite, no_prompt)
|
||||
_edit_data_path(data, name, data_path, copy_data, no_prompt)
|
||||
|
||||
save_config(name, data)
|
||||
if old_name != name:
|
||||
save_config(old_name, {}, remove=True)
|
||||
|
||||
|
||||
async def _edit_token(red, token, no_prompt):
|
||||
if token:
|
||||
if not len(token) >= 50:
|
||||
print(
|
||||
"The provided token doesn't look a valid Discord bot token."
|
||||
" Instance's token will remain unchanged.\n"
|
||||
)
|
||||
return
|
||||
await red._config.token.set(token)
|
||||
elif not no_prompt and confirm("Would you like to change instance's token?", default=False):
|
||||
await interactive_config(red, False, True, print_header=False)
|
||||
print("Token updated.\n")
|
||||
|
||||
|
||||
async def _edit_prefix(red, prefix, no_prompt):
|
||||
if prefix:
|
||||
prefixes = sorted(prefix, reverse=True)
|
||||
await red._config.prefix.set(prefixes)
|
||||
elif not no_prompt and confirm("Would you like to change instance's prefixes?", default=False):
|
||||
print(
|
||||
"Enter the prefixes, separated by a space (please note "
|
||||
"that prefixes containing a space will need to be added with [p]set prefix)"
|
||||
)
|
||||
while True:
|
||||
prefixes = input("> ").strip().split()
|
||||
if not prefixes:
|
||||
print("You need to pass at least one prefix!")
|
||||
continue
|
||||
prefixes = sorted(prefixes, reverse=True)
|
||||
await red._config.prefix.set(prefixes)
|
||||
print("Prefixes updated.\n")
|
||||
break
|
||||
|
||||
|
||||
async def _edit_owner(red, owner, no_prompt):
|
||||
if owner:
|
||||
if not (15 <= len(str(owner)) <= 21):
|
||||
print(
|
||||
"The provided owner id doesn't look like a valid Discord user id."
|
||||
" Instance's owner will remain unchanged."
|
||||
)
|
||||
return
|
||||
await red._config.owner.set(owner)
|
||||
elif not no_prompt and confirm("Would you like to change instance's owner?", default=False):
|
||||
print(
|
||||
"Remember:\n"
|
||||
"ONLY the person who is hosting Red should be owner."
|
||||
" This has SERIOUS security implications."
|
||||
" The owner can access any data that is present on the host system.\n"
|
||||
)
|
||||
if confirm("Are you sure you want to change instance's owner?", default=False):
|
||||
print("Please enter a Discord user id for new owner:")
|
||||
while True:
|
||||
owner_id = input("> ").strip()
|
||||
if not (15 <= len(owner_id) <= 21 and owner_id.isdecimal()):
|
||||
print("That doesn't look like a valid Discord user id.")
|
||||
continue
|
||||
owner_id = int(owner_id)
|
||||
await red._config.owner.set(owner_id)
|
||||
print("Owner updated.")
|
||||
break
|
||||
else:
|
||||
print("Instance's owner will remain unchanged.")
|
||||
print()
|
||||
|
||||
|
||||
def _edit_instance_name(old_name, new_name, confirm_overwrite, no_prompt):
|
||||
if new_name:
|
||||
name = new_name
|
||||
if name in _get_instance_names() and not confirm_overwrite:
|
||||
name = old_name
|
||||
print(
|
||||
"An instance with this name already exists.\n"
|
||||
"If you want to remove the existing instance and replace it with this one,"
|
||||
" 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()
|
||||
if name in _get_instance_names():
|
||||
print(
|
||||
"WARNING: An instance already exists with this name. "
|
||||
"Continuing will overwrite the existing instance config."
|
||||
)
|
||||
if not confirm(
|
||||
"Are you absolutely certain you want to continue with this instance name?",
|
||||
default=False,
|
||||
):
|
||||
print("Instance name will remain unchanged.")
|
||||
name = old_name
|
||||
else:
|
||||
print("Instance name updated.")
|
||||
else:
|
||||
print("Instance name updated.")
|
||||
print()
|
||||
else:
|
||||
name = old_name
|
||||
return name
|
||||
|
||||
|
||||
def _edit_data_path(data, instance_name, data_path, copy_data, no_prompt):
|
||||
# This modifies the passed dict.
|
||||
if data_path:
|
||||
new_path = Path(data_path)
|
||||
try:
|
||||
exists = new_path.exists()
|
||||
except OSError:
|
||||
print(
|
||||
"We were unable to check your chosen directory."
|
||||
" Provided path may contain an invalid character."
|
||||
" Data location will remain unchanged."
|
||||
)
|
||||
|
||||
if not exists:
|
||||
try:
|
||||
new_path.mkdir(parents=True, exist_ok=True)
|
||||
except OSError:
|
||||
print(
|
||||
"We were unable to create your chosen directory."
|
||||
" Data location will remain unchanged."
|
||||
)
|
||||
data["DATA_PATH"] = data_path
|
||||
if copy_data and not _copy_data(data):
|
||||
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)
|
||||
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.")
|
||||
if not confirm("Do you still want to use the new data location?"):
|
||||
data["DATA_PATH"] = data_manager.basic_config["DATA_PATH"]
|
||||
print("Data location will remain unchanged.")
|
||||
return
|
||||
print("Old data has been copied over to the new location.")
|
||||
print("Data location updated.")
|
||||
|
||||
|
||||
def _copy_data(data):
|
||||
if Path(data["DATA_PATH"]).exists():
|
||||
if any(os.scandir(data["DATA_PATH"])):
|
||||
return False
|
||||
else:
|
||||
# this is needed because copytree doesn't work when destination folder exists
|
||||
# Python 3.8 has `dirs_exist_ok` option for that
|
||||
os.rmdir(data["DATA_PATH"])
|
||||
shutil.copytree(data_manager.basic_config["DATA_PATH"], data["DATA_PATH"])
|
||||
return True
|
||||
|
||||
|
||||
def handle_edit(cli_flags: Namespace):
|
||||
"""
|
||||
This one exists to not log all the things like it's a full run of the bot.
|
||||
"""
|
||||
loop = asyncio.new_event_loop()
|
||||
asyncio.set_event_loop(loop)
|
||||
data_manager.load_basic_configuration(cli_flags.instance_name)
|
||||
red = Red(cli_flags=cli_flags, description="Red V3", dm_help=None, fetch_offline_members=True)
|
||||
try:
|
||||
driver_cls = drivers.get_driver_class()
|
||||
loop.run_until_complete(driver_cls.initialize(**data_manager.storage_details()))
|
||||
loop.run_until_complete(edit_instance(red, cli_flags))
|
||||
loop.run_until_complete(driver_cls.teardown())
|
||||
except (KeyboardInterrupt, EOFError):
|
||||
print("Aborted!")
|
||||
finally:
|
||||
loop.run_until_complete(asyncio.sleep(1))
|
||||
asyncio.set_event_loop(None)
|
||||
loop.stop()
|
||||
loop.close()
|
||||
sys.exit(0)
|
||||
|
||||
|
||||
async def run_bot(red: Red, cli_flags: Namespace) -> None:
|
||||
"""
|
||||
This runs the bot.
|
||||
|
||||
Any shutdown which is a result of not being able to log in needs to raise
|
||||
a SystemExit exception.
|
||||
|
||||
If the bot starts normally, the bot should be left to handle the exit case.
|
||||
It will raise SystemExit in a task, which will reach the event loop and
|
||||
interrupt running forever, then trigger our cleanup process, and does not
|
||||
need additional handling in this function.
|
||||
"""
|
||||
|
||||
driver_cls = drivers.get_driver_class()
|
||||
|
||||
await driver_cls.initialize(**data_manager.storage_details())
|
||||
|
||||
redbot.logging.init_logging(
|
||||
level=cli_flags.logging_level, location=data_manager.core_data_path() / "logs"
|
||||
)
|
||||
@@ -108,71 +341,207 @@ def main():
|
||||
log.debug("Data Path: %s", data_manager._base_data_path())
|
||||
log.debug("Storage Type: %s", data_manager.storage_type())
|
||||
|
||||
red = Red(
|
||||
cli_flags=cli_flags, description=description, dm_help=None, fetch_offline_members=True
|
||||
)
|
||||
loop = asyncio.get_event_loop()
|
||||
loop.run_until_complete(red.maybe_update_config())
|
||||
init_global_checks(red)
|
||||
init_events(red, cli_flags)
|
||||
# lib folder has to be in sys.path before trying to load any 3rd-party cog (GH-3061)
|
||||
# We might want to change handling of requirements in Downloader at later date
|
||||
LIB_PATH = data_manager.cog_data_path(raw_name="Downloader") / "lib"
|
||||
LIB_PATH.mkdir(parents=True, exist_ok=True)
|
||||
if str(LIB_PATH) not in sys.path:
|
||||
sys.path.append(str(LIB_PATH))
|
||||
|
||||
red.add_cog(Core(red))
|
||||
red.add_cog(CogManagerUI())
|
||||
if cli_flags.dev:
|
||||
red.add_cog(Dev())
|
||||
# noinspection PyProtectedMember
|
||||
loop.run_until_complete(modlog._init())
|
||||
# noinspection PyProtectedMember
|
||||
bank._init()
|
||||
# "It's important to note that the global `working_set` object is initialized from
|
||||
# `sys.path` when `pkg_resources` is first imported, but is only updated if you do
|
||||
# all future `sys.path` manipulation via `pkg_resources` APIs. If you manually modify
|
||||
# `sys.path`, you must invoke the appropriate methods on the `working_set` instance
|
||||
# to keep it in sync."
|
||||
# Source: https://setuptools.readthedocs.io/en/latest/pkg_resources.html#workingset-objects
|
||||
pkg_resources.working_set.add_entry(str(LIB_PATH))
|
||||
sys.meta_path.insert(0, SharedLibImportWarner())
|
||||
|
||||
if os.name == "posix":
|
||||
loop.add_signal_handler(SIGTERM, lambda: asyncio.ensure_future(sigterm_handler(red, log)))
|
||||
tmp_data = {}
|
||||
loop.run_until_complete(_get_prefix_and_token(red, tmp_data))
|
||||
token = os.environ.get("RED_TOKEN", tmp_data["token"])
|
||||
if cli_flags.token:
|
||||
token = cli_flags.token
|
||||
prefix = cli_flags.prefix or tmp_data["prefix"]
|
||||
else:
|
||||
token = os.environ.get("RED_TOKEN", None)
|
||||
if not token:
|
||||
token = await red._config.token()
|
||||
|
||||
prefix = cli_flags.prefix or await red._config.prefix()
|
||||
|
||||
if not (token and prefix):
|
||||
if cli_flags.no_prompt is False:
|
||||
new_token = interactive_config(red, token_set=bool(token), prefix_set=bool(prefix))
|
||||
new_token = await interactive_config(
|
||||
red, token_set=bool(token), prefix_set=bool(prefix)
|
||||
)
|
||||
if new_token:
|
||||
token = new_token
|
||||
else:
|
||||
log.critical("Token and prefix must be set in order to login.")
|
||||
sys.exit(1)
|
||||
loop.run_until_complete(_get_prefix_and_token(red, tmp_data))
|
||||
|
||||
if cli_flags.dry_run:
|
||||
loop.run_until_complete(red.http.close())
|
||||
await red.http.close()
|
||||
sys.exit(0)
|
||||
try:
|
||||
loop.run_until_complete(red.start(token, bot=True))
|
||||
await red.start(token, bot=True, cli_flags=cli_flags)
|
||||
except discord.LoginFailure:
|
||||
log.critical("This token doesn't seem to be valid.")
|
||||
db_token = loop.run_until_complete(red.db.token())
|
||||
db_token = await red._config.token()
|
||||
if db_token and not cli_flags.no_prompt:
|
||||
print("\nDo you want to reset the token? (y/n)")
|
||||
if confirm("> "):
|
||||
loop.run_until_complete(red.db.token.set(""))
|
||||
if confirm("\nDo you want to reset the token?"):
|
||||
await red._config.token.set("")
|
||||
print("Token has been reset.")
|
||||
except KeyboardInterrupt:
|
||||
log.info("Keyboard interrupt detected. Quitting...")
|
||||
loop.run_until_complete(red.logout())
|
||||
red._shutdown_mode = ExitCodes.SHUTDOWN
|
||||
except Exception as e:
|
||||
log.critical("Fatal exception", exc_info=e)
|
||||
loop.run_until_complete(red.logout())
|
||||
finally:
|
||||
pending = asyncio.Task.all_tasks(loop=red.loop)
|
||||
gathered = asyncio.gather(*pending, loop=red.loop, return_exceptions=True)
|
||||
gathered.cancel()
|
||||
try:
|
||||
loop.run_until_complete(red.rpc.close())
|
||||
except AttributeError:
|
||||
pass
|
||||
sys.exit(0)
|
||||
sys.exit(1)
|
||||
|
||||
sys.exit(red._shutdown_mode.value)
|
||||
return None
|
||||
|
||||
|
||||
def handle_early_exit_flags(cli_flags: Namespace):
|
||||
if cli_flags.list_instances:
|
||||
list_instances()
|
||||
elif cli_flags.version:
|
||||
print("Red V3")
|
||||
print("Current Version: {}".format(__version__))
|
||||
sys.exit(0)
|
||||
elif cli_flags.debuginfo:
|
||||
debug_info()
|
||||
elif not cli_flags.instance_name and (not cli_flags.no_instance or cli_flags.edit):
|
||||
print("Error: No instance name was provided!")
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
async def shutdown_handler(red, signal_type=None, exit_code=None):
|
||||
if signal_type:
|
||||
log.info("%s received. Quitting...", signal_type)
|
||||
# Do not collapse the below line into other logic
|
||||
# We need to renter this function
|
||||
# after it interrupts the event loop.
|
||||
sys.exit(ExitCodes.SHUTDOWN)
|
||||
elif exit_code is None:
|
||||
log.info("Shutting down from unhandled exception")
|
||||
red._shutdown_mode = ExitCodes.CRITICAL
|
||||
|
||||
if exit_code is not None:
|
||||
red._shutdown_mode = exit_code
|
||||
|
||||
try:
|
||||
await red.logout()
|
||||
finally:
|
||||
# Then cancels all outstanding tasks other than ourselves
|
||||
pending = [t for t in asyncio.all_tasks() if t is not asyncio.current_task()]
|
||||
[task.cancel() for task in pending]
|
||||
await asyncio.gather(*pending, return_exceptions=True)
|
||||
|
||||
|
||||
def global_exception_handler(red, loop, context):
|
||||
"""
|
||||
Logs unhandled exceptions in other tasks
|
||||
"""
|
||||
msg = context.get("exception", context["message"])
|
||||
# These will get handled later when it *also* kills loop.run_forever
|
||||
if not isinstance(msg, (KeyboardInterrupt, SystemExit)):
|
||||
if isinstance(msg, Exception):
|
||||
log.critical("Caught unhandled exception in task:\n", exc_info=msg)
|
||||
else:
|
||||
log.critical("Caught unhandled exception in task: %s", msg)
|
||||
|
||||
|
||||
def red_exception_handler(red, red_task: asyncio.Future):
|
||||
"""
|
||||
This is set as a done callback for Red
|
||||
|
||||
must be used with functools.partial
|
||||
|
||||
If the main bot.run dies for some reason,
|
||||
we don't want to swallow the exception and hang.
|
||||
"""
|
||||
try:
|
||||
red_task.result()
|
||||
except (SystemExit, KeyboardInterrupt, asyncio.CancelledError):
|
||||
pass # Handled by the global_exception_handler, or cancellation
|
||||
except Exception as exc:
|
||||
log.critical("The main bot task didn't handle an exception and has crashed", exc_info=exc)
|
||||
log.warning("Attempting to die as gracefully as possible...")
|
||||
red.loop.create_task(shutdown_handler(red))
|
||||
|
||||
|
||||
def main():
|
||||
red = None # Error handling for users misusing the bot
|
||||
cli_flags = parse_cli_flags(sys.argv[1:])
|
||||
handle_early_exit_flags(cli_flags)
|
||||
if cli_flags.edit:
|
||||
handle_edit(cli_flags)
|
||||
return
|
||||
try:
|
||||
loop = asyncio.new_event_loop()
|
||||
asyncio.set_event_loop(loop)
|
||||
|
||||
if cli_flags.no_instance:
|
||||
print(
|
||||
"\033[1m"
|
||||
"Warning: The data will be placed in a temporary folder and removed on next system "
|
||||
"reboot."
|
||||
"\033[0m"
|
||||
)
|
||||
cli_flags.instance_name = "temporary_red"
|
||||
data_manager.create_temp_config()
|
||||
|
||||
data_manager.load_basic_configuration(cli_flags.instance_name)
|
||||
|
||||
red = Red(
|
||||
cli_flags=cli_flags, description="Red V3", dm_help=None, fetch_offline_members=True
|
||||
)
|
||||
|
||||
if os.name != "nt":
|
||||
# None of this works on windows.
|
||||
# At least it's not a redundant handler...
|
||||
signals = (signal.SIGHUP, signal.SIGTERM, signal.SIGINT)
|
||||
for s in signals:
|
||||
loop.add_signal_handler(
|
||||
s, lambda s=s: asyncio.create_task(shutdown_handler(red, s))
|
||||
)
|
||||
|
||||
exc_handler = functools.partial(global_exception_handler, red)
|
||||
loop.set_exception_handler(exc_handler)
|
||||
# We actually can't (just) use asyncio.run here
|
||||
# We probably could if we didnt support windows, but we might run into
|
||||
# a scenario where this isn't true if anyone works on RPC more in the future
|
||||
fut = loop.create_task(run_bot(red, cli_flags))
|
||||
r_exc_handler = functools.partial(red_exception_handler, red)
|
||||
fut.add_done_callback(r_exc_handler)
|
||||
loop.run_forever()
|
||||
except KeyboardInterrupt:
|
||||
# We still have to catch this here too. (*joy*)
|
||||
log.warning("Please do not use Ctrl+C to Shutdown Red! (attempting to die gracefully...)")
|
||||
log.error("Received KeyboardInterrupt, treating as interrupt")
|
||||
if red is not None:
|
||||
loop.run_until_complete(shutdown_handler(red, signal.SIGINT))
|
||||
except SystemExit as exc:
|
||||
# We also have to catch this one here. Basically any exception which normally
|
||||
# Kills the python interpreter (Base Exceptions minus asyncio.cancelled)
|
||||
# We need to do something with prior to having the loop close
|
||||
log.info("Shutting down with exit code: %s", exc.code)
|
||||
if red is not None:
|
||||
loop.run_until_complete(shutdown_handler(red, None, exc.code))
|
||||
except Exception as exc: # Non standard case.
|
||||
log.exception("Unexpected exception (%s): ", type(exc), exc_info=exc)
|
||||
if red is not None:
|
||||
loop.run_until_complete(shutdown_handler(red, None, ExitCodes.CRITICAL))
|
||||
finally:
|
||||
# Allows transports to close properly, and prevent new ones from being opened.
|
||||
# Transports may still not be closed correcly on windows, see below
|
||||
loop.run_until_complete(loop.shutdown_asyncgens())
|
||||
# *we* aren't cleaning up more here, but it prevents
|
||||
# a runtime error at the event loop on windows
|
||||
# with resources which require longer to clean up.
|
||||
# With other event loops, a failure to cleanup prior to here
|
||||
# results in a resource warning instead
|
||||
log.info("Please wait, cleaning up a bit more")
|
||||
loop.run_until_complete(asyncio.sleep(2))
|
||||
asyncio.set_event_loop(None)
|
||||
loop.stop()
|
||||
loop.close()
|
||||
exit_code = red._shutdown_mode if red is not None else 1
|
||||
sys.exit(exit_code)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import asyncio
|
||||
import logging
|
||||
from typing import Tuple
|
||||
|
||||
@@ -7,7 +8,7 @@ from redbot.core import Config, checks, commands
|
||||
from redbot.core.i18n import Translator, cog_i18n
|
||||
from redbot.core.utils.chat_formatting import box
|
||||
from .announcer import Announcer
|
||||
from .converters import MemberDefaultAuthor, SelfRole
|
||||
from .converters import SelfRole
|
||||
|
||||
log = logging.getLogger("red.admin")
|
||||
|
||||
@@ -19,27 +20,44 @@ GENERIC_FORBIDDEN = _(
|
||||
" Your command failed to successfully complete."
|
||||
)
|
||||
|
||||
HIERARCHY_ISSUE = _(
|
||||
"I tried to {verb} {role.name} to {member.display_name} but that role"
|
||||
" is higher than my highest role in the Discord hierarchy so I was"
|
||||
" unable to successfully add it. Please give me a higher role and "
|
||||
"try again."
|
||||
HIERARCHY_ISSUE_ADD = _(
|
||||
"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."
|
||||
)
|
||||
|
||||
USER_HIERARCHY_ISSUE = _(
|
||||
"I tried to {verb} {role.name} to {member.display_name} but that role"
|
||||
" is higher than your highest role in the Discord hierarchy so I was"
|
||||
" unable to successfully add it. Please get a higher role and "
|
||||
"try again."
|
||||
HIERARCHY_ISSUE_REMOVE = _(
|
||||
"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."
|
||||
)
|
||||
|
||||
ROLE_HIERARCHY_ISSUE = _(
|
||||
"I can not edit {role.name}"
|
||||
" because that role is higher than my or equal to highest role"
|
||||
" in the Discord hierarchy."
|
||||
)
|
||||
|
||||
USER_HIERARCHY_ISSUE_ADD = _(
|
||||
"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."
|
||||
)
|
||||
|
||||
USER_HIERARCHY_ISSUE_REMOVE = _(
|
||||
"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."
|
||||
)
|
||||
|
||||
ROLE_USER_HIERARCHY_ISSUE = _(
|
||||
"I tried to edit {role.name} but that role"
|
||||
" is higher than your highest role in the Discord hierarchy so I was"
|
||||
" unable to successfully add it. Please get a higher role and "
|
||||
"try again."
|
||||
"I can not let you edit {role.name}"
|
||||
" because that role is higher than or equal to your highest role"
|
||||
" in the Discord hierarchy."
|
||||
)
|
||||
|
||||
NEED_MANAGE_ROLES = _("I need manage roles permission to do that.")
|
||||
|
||||
RUNNING_ANNOUNCEMENT = _(
|
||||
"I am already announcing something. If you would like to make a"
|
||||
" different announcement please use `{prefix}announce cancel`"
|
||||
@@ -52,19 +70,52 @@ _ = T_
|
||||
class Admin(commands.Cog):
|
||||
"""A collection of server administration utilities."""
|
||||
|
||||
def __init__(self, config=Config):
|
||||
super().__init__()
|
||||
self.conf = config.get_conf(self, 8237492837454039, force_registration=True)
|
||||
def __init__(self):
|
||||
self.config = Config.get_conf(self, 8237492837454039, force_registration=True)
|
||||
|
||||
self.conf.register_global(serverlocked=False)
|
||||
self.config.register_global(serverlocked=False, schema_version=0)
|
||||
|
||||
self.conf.register_guild(
|
||||
announce_ignore=False,
|
||||
announce_channel=None, # Integer ID
|
||||
selfroles=[], # List of integer ID's
|
||||
self.config.register_guild(
|
||||
announce_channel=None, selfroles=[], # Integer ID # List of integer ID's
|
||||
)
|
||||
|
||||
self.__current_announcer = None
|
||||
self._ready = asyncio.Event()
|
||||
asyncio.create_task(self.handle_migrations())
|
||||
# As this is a data migration, don't store this for cancelation.
|
||||
|
||||
async def cog_before_invoke(self, ctx: commands.Context):
|
||||
await self._ready.wait()
|
||||
|
||||
async def red_delete_data_for_user(self, **kwargs):
|
||||
""" Nothing to delete """
|
||||
return
|
||||
|
||||
async def handle_migrations(self):
|
||||
|
||||
lock = self.config.get_guilds_lock()
|
||||
async with lock:
|
||||
# This prevents the edge case of someone loading admin,
|
||||
# unloading it, loading it again during a migration
|
||||
current_schema = await self.config.schema_version()
|
||||
|
||||
if current_schema == 0:
|
||||
await self.migrate_config_from_0_to_1()
|
||||
await self.config.schema_version.set(1)
|
||||
|
||||
self._ready.set()
|
||||
|
||||
async def migrate_config_from_0_to_1(self):
|
||||
|
||||
all_guilds = await self.config.all_guilds()
|
||||
|
||||
for guild_id, guild_data in all_guilds.items():
|
||||
if guild_data.get("announce_ignore", False):
|
||||
async with self.config.guild_from_id(guild_id).all(
|
||||
acquire_lock=False
|
||||
) as guild_config:
|
||||
guild_config.pop("announce_channel", None)
|
||||
guild_config.pop("announce_ignore", None)
|
||||
|
||||
def cog_unload(self):
|
||||
try:
|
||||
@@ -72,10 +123,6 @@ class Admin(commands.Cog):
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
@staticmethod
|
||||
async def complain(ctx: commands.Context, message: str, **kwargs):
|
||||
await ctx.send(message.format(**kwargs))
|
||||
|
||||
def is_announcing(self) -> bool:
|
||||
"""
|
||||
Is the bot currently announcing something?
|
||||
@@ -104,18 +151,31 @@ class Admin(commands.Cog):
|
||||
:param role:
|
||||
:return:
|
||||
"""
|
||||
return ctx.author.top_role > role
|
||||
return ctx.author.top_role > role or ctx.author == ctx.guild.owner
|
||||
|
||||
async def _addrole(self, ctx: commands.Context, member: discord.Member, role: discord.Role):
|
||||
async def _addrole(
|
||||
self, ctx: commands.Context, member: discord.Member, role: discord.Role, *, check_user=True
|
||||
):
|
||||
if role in member.roles:
|
||||
await ctx.send(
|
||||
_("{member.display_name} already has the role {role.name}.").format(
|
||||
role=role, member=member
|
||||
)
|
||||
)
|
||||
return
|
||||
if check_user and not self.pass_user_hierarchy_check(ctx, role):
|
||||
await ctx.send(_(USER_HIERARCHY_ISSUE_ADD).format(role=role, member=member))
|
||||
return
|
||||
if not self.pass_hierarchy_check(ctx, role):
|
||||
await ctx.send(_(HIERARCHY_ISSUE_ADD).format(role=role, member=member))
|
||||
return
|
||||
if not ctx.guild.me.guild_permissions.manage_roles:
|
||||
await ctx.send(_(NEED_MANAGE_ROLES))
|
||||
return
|
||||
try:
|
||||
await member.add_roles(role)
|
||||
except discord.Forbidden:
|
||||
if not self.pass_hierarchy_check(ctx, role):
|
||||
await self.complain(
|
||||
ctx, T_(HIERARCHY_ISSUE), role=role, member=member, verb=_("add")
|
||||
)
|
||||
else:
|
||||
await self.complain(ctx, T_(GENERIC_FORBIDDEN))
|
||||
await ctx.send(_(GENERIC_FORBIDDEN))
|
||||
else:
|
||||
await ctx.send(
|
||||
_("I successfully added {role.name} to {member.display_name}").format(
|
||||
@@ -123,16 +183,29 @@ class Admin(commands.Cog):
|
||||
)
|
||||
)
|
||||
|
||||
async def _removerole(self, ctx: commands.Context, member: discord.Member, role: discord.Role):
|
||||
async def _removerole(
|
||||
self, ctx: commands.Context, member: discord.Member, role: discord.Role, *, check_user=True
|
||||
):
|
||||
if role not in member.roles:
|
||||
await ctx.send(
|
||||
_("{member.display_name} does not have the role {role.name}.").format(
|
||||
role=role, member=member
|
||||
)
|
||||
)
|
||||
return
|
||||
if check_user and not self.pass_user_hierarchy_check(ctx, role):
|
||||
await ctx.send(_(USER_HIERARCHY_ISSUE_REMOVE).format(role=role, member=member))
|
||||
return
|
||||
if not self.pass_hierarchy_check(ctx, role):
|
||||
await ctx.send(_(HIERARCHY_ISSUE_REMOVE).format(role=role, member=member))
|
||||
return
|
||||
if not ctx.guild.me.guild_permissions.manage_roles:
|
||||
await ctx.send(_(NEED_MANAGE_ROLES))
|
||||
return
|
||||
try:
|
||||
await member.remove_roles(role)
|
||||
except discord.Forbidden:
|
||||
if not self.pass_hierarchy_check(ctx, role):
|
||||
await self.complain(
|
||||
ctx, T_(HIERARCHY_ISSUE), role=role, member=member, verb=_("remove")
|
||||
)
|
||||
else:
|
||||
await self.complain(ctx, T_(GENERIC_FORBIDDEN))
|
||||
await ctx.send(_(GENERIC_FORBIDDEN))
|
||||
else:
|
||||
await ctx.send(
|
||||
_("I successfully removed {role.name} from {member.display_name}").format(
|
||||
@@ -144,41 +217,33 @@ class Admin(commands.Cog):
|
||||
@commands.guild_only()
|
||||
@checks.admin_or_permissions(manage_roles=True)
|
||||
async def addrole(
|
||||
self, ctx: commands.Context, rolename: discord.Role, *, user: MemberDefaultAuthor = None
|
||||
self, ctx: commands.Context, rolename: discord.Role, *, user: discord.Member = None
|
||||
):
|
||||
"""Add a role to a user.
|
||||
"""
|
||||
Add a role to a user.
|
||||
|
||||
Use double quotes if the role contains spaces.
|
||||
If user is left blank it defaults to the author of the command.
|
||||
"""
|
||||
if user is None:
|
||||
user = ctx.author
|
||||
if self.pass_user_hierarchy_check(ctx, rolename):
|
||||
# noinspection PyTypeChecker
|
||||
await self._addrole(ctx, user, rolename)
|
||||
else:
|
||||
await self.complain(
|
||||
ctx, T_(USER_HIERARCHY_ISSUE), member=user, role=rolename, verb=_("add")
|
||||
)
|
||||
await self._addrole(ctx, user, rolename)
|
||||
|
||||
@commands.command()
|
||||
@commands.guild_only()
|
||||
@checks.admin_or_permissions(manage_roles=True)
|
||||
async def removerole(
|
||||
self, ctx: commands.Context, rolename: discord.Role, *, user: MemberDefaultAuthor = None
|
||||
self, ctx: commands.Context, rolename: discord.Role, *, user: discord.Member = None
|
||||
):
|
||||
"""Remove a role from a user.
|
||||
"""
|
||||
Remove a role from a user.
|
||||
|
||||
Use double quotes if the role contains spaces.
|
||||
If user is left blank it defaults to the author of the command.
|
||||
"""
|
||||
if user is None:
|
||||
user = ctx.author
|
||||
if self.pass_user_hierarchy_check(ctx, rolename):
|
||||
# noinspection PyTypeChecker
|
||||
await self._removerole(ctx, user, rolename)
|
||||
else:
|
||||
await self.complain(
|
||||
ctx, T_(USER_HIERARCHY_ISSUE), member=user, role=rolename, verb=_("remove")
|
||||
)
|
||||
await self._removerole(ctx, user, rolename)
|
||||
|
||||
@commands.group()
|
||||
@commands.guild_only()
|
||||
@@ -191,7 +256,8 @@ class Admin(commands.Cog):
|
||||
async def editrole_colour(
|
||||
self, ctx: commands.Context, role: discord.Role, value: discord.Colour
|
||||
):
|
||||
"""Edit a role's colour.
|
||||
"""
|
||||
Edit a role's colour.
|
||||
|
||||
Use double quotes if the role contains spaces.
|
||||
Colour must be in hexadecimal format.
|
||||
@@ -205,25 +271,30 @@ class Admin(commands.Cog):
|
||||
reason = "{}({}) changed the colour of role '{}'".format(author.name, author.id, role.name)
|
||||
|
||||
if not self.pass_user_hierarchy_check(ctx, role):
|
||||
await self.complain(ctx, T_(ROLE_USER_HIERARCHY_ISSUE), role=role)
|
||||
await ctx.send(_(ROLE_USER_HIERARCHY_ISSUE).format(role=role))
|
||||
return
|
||||
if not self.pass_hierarchy_check(ctx, role):
|
||||
await ctx.send(_(ROLE_HIERARCHY_ISSUE).format(role=role))
|
||||
return
|
||||
if not ctx.guild.me.guild_permissions.manage_roles:
|
||||
await ctx.send(_(NEED_MANAGE_ROLES))
|
||||
return
|
||||
|
||||
try:
|
||||
await role.edit(reason=reason, color=value)
|
||||
except discord.Forbidden:
|
||||
await self.complain(ctx, T_(GENERIC_FORBIDDEN))
|
||||
await ctx.send(_(GENERIC_FORBIDDEN))
|
||||
else:
|
||||
log.info(reason)
|
||||
await ctx.send(_("Done."))
|
||||
|
||||
@editrole.command(name="name")
|
||||
@checks.admin_or_permissions(administrator=True)
|
||||
async def edit_role_name(self, ctx: commands.Context, role: discord.Role, *, name: str):
|
||||
"""Edit a role's name.
|
||||
async def edit_role_name(self, ctx: commands.Context, role: discord.Role, name: str):
|
||||
"""
|
||||
Edit a role's name.
|
||||
|
||||
Use double quotes if the role or the name contain spaces.
|
||||
|
||||
Examples:
|
||||
Example:
|
||||
`[p]editrole name \"The Transistor\" Test`
|
||||
"""
|
||||
author = ctx.message.author
|
||||
@@ -233,13 +304,18 @@ class Admin(commands.Cog):
|
||||
)
|
||||
|
||||
if not self.pass_user_hierarchy_check(ctx, role):
|
||||
await self.complain(ctx, T_(ROLE_USER_HIERARCHY_ISSUE), role=role)
|
||||
await ctx.send(_(ROLE_USER_HIERARCHY_ISSUE).format(role=role))
|
||||
return
|
||||
if not self.pass_hierarchy_check(ctx, role):
|
||||
await ctx.send(_(ROLE_HIERARCHY_ISSUE).format(role=role))
|
||||
return
|
||||
if not ctx.guild.me.guild_permissions.manage_roles:
|
||||
await ctx.send(_(NEED_MANAGE_ROLES))
|
||||
return
|
||||
|
||||
try:
|
||||
await role.edit(reason=reason, name=name)
|
||||
except discord.Forbidden:
|
||||
await self.complain(ctx, T_(GENERIC_FORBIDDEN))
|
||||
await ctx.send(_(GENERIC_FORBIDDEN))
|
||||
else:
|
||||
log.info(reason)
|
||||
await ctx.send(_("Done."))
|
||||
@@ -249,122 +325,97 @@ class Admin(commands.Cog):
|
||||
async def announce(self, ctx: commands.Context, *, message: str):
|
||||
"""Announce a message to all servers the bot is in."""
|
||||
if not self.is_announcing():
|
||||
announcer = Announcer(ctx, message, config=self.conf)
|
||||
announcer = Announcer(ctx, message, config=self.config)
|
||||
announcer.start()
|
||||
|
||||
self.__current_announcer = announcer
|
||||
|
||||
await ctx.send(_("The announcement has begun."))
|
||||
else:
|
||||
prefix = ctx.prefix
|
||||
await self.complain(ctx, T_(RUNNING_ANNOUNCEMENT), prefix=prefix)
|
||||
prefix = ctx.clean_prefix
|
||||
await ctx.send(_(RUNNING_ANNOUNCEMENT).format(prefix=prefix))
|
||||
|
||||
@announce.command(name="cancel")
|
||||
@checks.is_owner()
|
||||
async def announce_cancel(self, ctx):
|
||||
"""Cancel a running announce."""
|
||||
try:
|
||||
self.__current_announcer.cancel()
|
||||
except AttributeError:
|
||||
pass
|
||||
|
||||
if not self.is_announcing():
|
||||
await ctx.send(_("There is no currently running announcement."))
|
||||
return
|
||||
self.__current_announcer.cancel()
|
||||
await ctx.send(_("The current announcement has been cancelled."))
|
||||
|
||||
@announce.command(name="channel")
|
||||
@commands.group()
|
||||
@commands.guild_only()
|
||||
@checks.guildowner_or_permissions(administrator=True)
|
||||
async def announce_channel(self, ctx, *, channel: discord.TextChannel = None):
|
||||
"""Change the channel to which the bot makes announcements."""
|
||||
async def announceset(self, ctx):
|
||||
"""Change how announcements are sent in this guild."""
|
||||
pass
|
||||
|
||||
@announceset.command(name="channel")
|
||||
async def announceset_channel(self, ctx, *, channel: discord.TextChannel = None):
|
||||
"""
|
||||
Change the channel where the bot will send announcements.
|
||||
|
||||
If channel is left blank it defaults to the current channel.
|
||||
"""
|
||||
if channel is None:
|
||||
channel = ctx.channel
|
||||
await self.conf.guild(ctx.guild).announce_channel.set(channel.id)
|
||||
|
||||
await self.config.guild(ctx.guild).announce_channel.set(channel.id)
|
||||
await ctx.send(
|
||||
_("The announcement channel has been set to {channel.mention}").format(channel=channel)
|
||||
)
|
||||
|
||||
@announce.command(name="ignore")
|
||||
@commands.guild_only()
|
||||
@checks.guildowner_or_permissions(administrator=True)
|
||||
async def announce_ignore(self, ctx):
|
||||
"""Toggle announcements being enabled this server."""
|
||||
ignored = await self.conf.guild(ctx.guild).announce_ignore()
|
||||
await self.conf.guild(ctx.guild).announce_ignore.set(not ignored)
|
||||
|
||||
if ignored: # Keeping original logic....
|
||||
await ctx.send(
|
||||
_("The server {guild.name} will receive announcements.").format(guild=ctx.guild)
|
||||
)
|
||||
else:
|
||||
await ctx.send(
|
||||
_("The server {guild.name} will not receive announcements.").format(
|
||||
guild=ctx.guild
|
||||
)
|
||||
)
|
||||
@announceset.command(name="clearchannel")
|
||||
async def announceset_clear_channel(self, ctx):
|
||||
"""Unsets the channel for announcements."""
|
||||
await self.config.guild(ctx.guild).announce_channel.clear()
|
||||
await ctx.tick()
|
||||
|
||||
async def _valid_selfroles(self, guild: discord.Guild) -> Tuple[discord.Role]:
|
||||
"""
|
||||
Returns a list of valid selfroles
|
||||
Returns a tuple of valid selfroles
|
||||
:param guild:
|
||||
:return:
|
||||
"""
|
||||
selfrole_ids = set(await self.conf.guild(guild).selfroles())
|
||||
selfrole_ids = set(await self.config.guild(guild).selfroles())
|
||||
guild_roles = guild.roles
|
||||
|
||||
valid_roles = tuple(r for r in guild_roles if r.id in selfrole_ids)
|
||||
valid_role_ids = set(r.id for r in valid_roles)
|
||||
|
||||
if selfrole_ids != valid_role_ids:
|
||||
await self.conf.guild(guild).selfroles.set(list(valid_role_ids))
|
||||
await self.config.guild(guild).selfroles.set(list(valid_role_ids))
|
||||
|
||||
# noinspection PyTypeChecker
|
||||
return valid_roles
|
||||
|
||||
@commands.guild_only()
|
||||
@commands.group(invoke_without_command=True)
|
||||
async def selfrole(self, ctx: commands.Context, *, selfrole: SelfRole):
|
||||
"""Add a role to yourself.
|
||||
@commands.group()
|
||||
async def selfrole(self, ctx: commands.Context):
|
||||
"""Apply selfroles."""
|
||||
pass
|
||||
|
||||
@selfrole.command(name="add")
|
||||
async def selfrole_add(self, ctx: commands.Context, *, selfrole: SelfRole):
|
||||
"""
|
||||
Add a selfrole to yourself.
|
||||
|
||||
Server admins must have configured the role as user settable.
|
||||
|
||||
NOTE: The role is case sensitive!
|
||||
"""
|
||||
# noinspection PyTypeChecker
|
||||
await self._addrole(ctx, ctx.author, selfrole)
|
||||
await self._addrole(ctx, ctx.author, selfrole, check_user=False)
|
||||
|
||||
@selfrole.command(name="remove")
|
||||
async def selfrole_remove(self, ctx: commands.Context, *, selfrole: SelfRole):
|
||||
"""Remove a selfrole from yourself.
|
||||
"""
|
||||
Remove a selfrole from yourself.
|
||||
|
||||
Server admins must have configured the role as user settable.
|
||||
NOTE: The role is case sensitive!
|
||||
"""
|
||||
# noinspection PyTypeChecker
|
||||
await self._removerole(ctx, ctx.author, selfrole)
|
||||
|
||||
@selfrole.command(name="add")
|
||||
@checks.admin_or_permissions(manage_roles=True)
|
||||
async def selfrole_add(self, ctx: commands.Context, *, role: discord.Role):
|
||||
"""Add a role to the list of available selfroles.
|
||||
|
||||
NOTE: The role is case sensitive!
|
||||
"""
|
||||
async with self.conf.guild(ctx.guild).selfroles() as curr_selfroles:
|
||||
if role.id not in curr_selfroles:
|
||||
curr_selfroles.append(role.id)
|
||||
|
||||
await ctx.send(_("The selfroles list has been successfully modified."))
|
||||
|
||||
@selfrole.command(name="delete")
|
||||
@checks.admin_or_permissions(manage_roles=True)
|
||||
async def selfrole_delete(self, ctx: commands.Context, *, role: SelfRole):
|
||||
"""Remove a role from the list of available selfroles.
|
||||
|
||||
NOTE: The role is case sensitive!
|
||||
"""
|
||||
async with self.conf.guild(ctx.guild).selfroles() as curr_selfroles:
|
||||
curr_selfroles.remove(role.id)
|
||||
|
||||
await ctx.send(_("The selfroles list has been successfully modified."))
|
||||
await self._removerole(ctx, ctx.author, selfrole, check_user=False)
|
||||
|
||||
@selfrole.command(name="list")
|
||||
async def selfrole_list(self, ctx: commands.Context):
|
||||
@@ -374,26 +425,66 @@ class Admin(commands.Cog):
|
||||
selfroles = await self._valid_selfroles(ctx.guild)
|
||||
fmt_selfroles = "\n".join(["+ " + r.name for r in selfroles])
|
||||
|
||||
if not fmt_selfroles:
|
||||
await ctx.send("There are currently no selfroles.")
|
||||
return
|
||||
|
||||
msg = _("Available Selfroles:\n{selfroles}").format(selfroles=fmt_selfroles)
|
||||
await ctx.send(box(msg, "diff"))
|
||||
|
||||
async def _serverlock_check(self, guild: discord.Guild) -> bool:
|
||||
@commands.group()
|
||||
@checks.admin_or_permissions(manage_roles=True)
|
||||
async def selfroleset(self, ctx: commands.Context):
|
||||
"""Manage selfroles."""
|
||||
pass
|
||||
|
||||
@selfroleset.command(name="add")
|
||||
async def selfroleset_add(self, ctx: commands.Context, *, role: discord.Role):
|
||||
"""
|
||||
Checks if serverlocked is enabled.
|
||||
:param guild:
|
||||
:return: True if locked and left server
|
||||
Add a role to the list of available selfroles.
|
||||
|
||||
NOTE: The role is case sensitive!
|
||||
"""
|
||||
if await self.conf.serverlocked():
|
||||
await guild.leave()
|
||||
return True
|
||||
return False
|
||||
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."))
|
||||
return
|
||||
|
||||
await ctx.send(_("That role is already a selfrole."))
|
||||
|
||||
@selfroleset.command(name="remove")
|
||||
async def selfroleset_remove(self, ctx: commands.Context, *, role: SelfRole):
|
||||
"""
|
||||
Remove a role 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)
|
||||
|
||||
await ctx.send(_("Removed."))
|
||||
|
||||
@commands.command()
|
||||
@checks.is_owner()
|
||||
async def serverlock(self, ctx: commands.Context):
|
||||
"""Lock a bot to its current servers only."""
|
||||
serverlocked = await self.conf.serverlocked()
|
||||
await self.conf.serverlocked.set(not serverlocked)
|
||||
serverlocked = await self.config.serverlocked()
|
||||
await self.config.serverlocked.set(not serverlocked)
|
||||
|
||||
if serverlocked:
|
||||
await ctx.send(_("The bot is no longer serverlocked."))
|
||||
@@ -401,9 +492,10 @@ class Admin(commands.Cog):
|
||||
await ctx.send(_("The bot is now serverlocked."))
|
||||
|
||||
# region Event Handlers
|
||||
@commands.Cog.listener()
|
||||
async def on_guild_join(self, guild: discord.Guild):
|
||||
if await self._serverlock_check(guild):
|
||||
return
|
||||
if await self.config.serverlocked():
|
||||
await guild.leave()
|
||||
|
||||
|
||||
# endregion
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
import asyncio
|
||||
from typing import Optional
|
||||
|
||||
import discord
|
||||
from redbot.core import commands
|
||||
from redbot.core.i18n import Translator
|
||||
from redbot.core.utils import AsyncIter
|
||||
from redbot.core.utils.chat_formatting import humanize_list, inline
|
||||
|
||||
_ = Translator("Announcer", __file__)
|
||||
|
||||
@@ -36,39 +39,36 @@ class Announcer:
|
||||
"""
|
||||
self.active = False
|
||||
|
||||
async def _get_announce_channel(self, guild: discord.Guild) -> discord.TextChannel:
|
||||
async def _get_announce_channel(self, guild: discord.Guild) -> Optional[discord.TextChannel]:
|
||||
if await self.ctx.bot.cog_disabled_in_guild_raw("Admin", guild.id):
|
||||
return
|
||||
channel_id = await self.config.guild(guild).announce_channel()
|
||||
channel = None
|
||||
|
||||
if channel_id is not None:
|
||||
channel = guild.get_channel(channel_id)
|
||||
|
||||
if channel is None:
|
||||
channel = guild.system_channel
|
||||
|
||||
if channel is None:
|
||||
channel = guild.text_channels[0]
|
||||
|
||||
return channel
|
||||
return guild.get_channel(channel_id)
|
||||
|
||||
async def announcer(self):
|
||||
guild_list = self.ctx.bot.guilds
|
||||
bot_owner = (await self.ctx.bot.application_info()).owner
|
||||
for g in guild_list:
|
||||
failed = []
|
||||
async for g in AsyncIter(guild_list, delay=0.5):
|
||||
if not self.active:
|
||||
return
|
||||
|
||||
if await self.config.guild(g).announce_ignore():
|
||||
continue
|
||||
|
||||
channel = await self._get_announce_channel(g)
|
||||
|
||||
try:
|
||||
await channel.send(self.message)
|
||||
except discord.Forbidden:
|
||||
await bot_owner.send(
|
||||
_("I could not announce to server: {server.id}").format(server=g)
|
||||
)
|
||||
await asyncio.sleep(0.5)
|
||||
if channel:
|
||||
if channel.permissions_for(g.me).send_messages:
|
||||
try:
|
||||
await channel.send(self.message)
|
||||
except discord.Forbidden:
|
||||
failed.append(str(g.id))
|
||||
else:
|
||||
failed.append(str(g.id))
|
||||
|
||||
if failed:
|
||||
msg = (
|
||||
_("I could not announce to the following server: ")
|
||||
if len(failed) == 1
|
||||
else _("I could not announce to the following servers: ")
|
||||
)
|
||||
msg += humanize_list(tuple(map(inline, failed)))
|
||||
await self.ctx.bot.send_to_owners(msg)
|
||||
self.active = False
|
||||
|
||||
@@ -5,31 +5,17 @@ from redbot.core.i18n import Translator
|
||||
_ = Translator("AdminConverters", __file__)
|
||||
|
||||
|
||||
class MemberDefaultAuthor(commands.Converter):
|
||||
async def convert(self, ctx: commands.Context, arg: str) -> discord.Member:
|
||||
member_converter = commands.MemberConverter()
|
||||
try:
|
||||
member = await member_converter.convert(ctx, arg)
|
||||
except commands.BadArgument:
|
||||
if arg.strip() != "":
|
||||
raise
|
||||
else:
|
||||
member = ctx.author
|
||||
return member
|
||||
|
||||
|
||||
class SelfRole(commands.Converter):
|
||||
async def convert(self, ctx: commands.Context, arg: str) -> discord.Role:
|
||||
admin = ctx.command.cog
|
||||
if admin is None:
|
||||
raise commands.BadArgument(_("The Admin cog is not loaded."))
|
||||
|
||||
conf = admin.conf
|
||||
selfroles = await conf.guild(ctx.guild).selfroles()
|
||||
|
||||
role_converter = commands.RoleConverter()
|
||||
role = await role_converter.convert(ctx, arg)
|
||||
|
||||
selfroles = await admin.config.guild(ctx.guild).selfroles()
|
||||
|
||||
if role.id not in selfroles:
|
||||
raise commands.BadArgument(_("The provided role is not a valid selfrole."))
|
||||
return role
|
||||
|
||||
232
redbot/cogs/admin/locales/af-ZA.po
Normal file
@@ -0,0 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Afrikaans\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: af\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: af_ZA\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:12\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+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.0\n"
|
||||
"Generated-By: redgettext 3.1\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-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: ar\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: ar_SA\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr "حاولت القيام بشيء لا أملك تصريح من ديسكورد لفعله. فشل أمرك في إكمال نجاحه."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
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:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr "أنا بالفعل أُعلن شيئاً. إذا كنت ترغب في إصدار إعلان مختلف الرجاء إستخدام `{prefix}announce cancel` أولاً."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr "مجموعة من أدوات إدارة السيرفر."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr "لقد قمت بنجاح بإضافة {role.name} إلى {member.display_name}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: 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:149
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr "تعديل إعدادات الرتبة."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "تم."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr "الإعلان عن رسالة إلى جميع السيرفرات المتواجد بها البوت."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr "تم البدء في الإعلان."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr "إلغاء إعلان جارٍ."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr "تم إلغاء الإعلان الحالي."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr "تعديل القناة التي يستخدمها البوت للإعلانات."
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr "تم تحديث قناة الإعلانات إلى {channel.mention}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr "تم تمكين الإعلانات في السيرفر."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr "سيرفر {guild.name} سيتلقى إعلانات الآن."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgstr "سيرفر {guild.name} لن يتلقى إعلانات."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr "تم تحديث/تعديل قائمة الرتب الذاتية بنجاح."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr "قفل البوت للسيرفر الحالي فقط."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr "لم يعد البوت مقفول للسيرفر الحالي فقط."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr "لقد تم قفل البوت للسيرفر الحالي فقط."
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
msgstr "لم أتمكن من الإعلان في السيرفر: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr "لم يتم تحميل وحدة الأدمن cog."
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr "الرتبة المذكورة ليست على قائمة الرتب الذاتية."
|
||||
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:12\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+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.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: bg\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: bg_BG\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
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:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "Завършено."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
|
||||
|
||||
232
redbot/cogs/admin/locales/ca-ES.po
Normal file
@@ -0,0 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Catalan\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: ca\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: ca_ES\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-14 02:15\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+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.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: cs\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: cs_CZ\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr "Pokusil jsem se udělat něco, co mi Discord odepřel. Tvůj příkaz se nepodažilo úspěšně dokončit."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr "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
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr ""
|
||||
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:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr "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:43
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Nemohu ti dovolit dát {role.name} uživateli {member.display_name}, protože tato role je vyšší nebo rovna tvé nejvyšší roli v Discord hierarchii."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Nemohu ti dovolit odebrat {role.name} uživateli {member.display_name}, protože tato role je vyšší nebo rovna tvé nejvyšší roli v Discord hierarchii."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Nemohu ti dovolit upravit {role.name}, protože tato role je vyšší nebo rovna tvé nejvyšší roli v Discord hierarchii."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr "K tomu potřebuji oprávnění spravovat role."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr "Už něco oznamuji. Pokud bys rád provedl jiné oznámení, nejdříve použij `{prefix}announce cancel`."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr "Kolekce nástrojů pro správu serveru."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr "{member.display_name} již má roli {role.name}."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
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:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
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:138
|
||||
#: 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:149
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Přidá roli uživateli.\\n\\n Pokud role obsahuje mezery, použijte dvojí uvozovky.\\n Ponecháte-li uživatel prázdný, výchozí hodnota autorovi příkazu.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Odebrat roli uživateli.\\n\\n Pokud role obsahuje mezery, použijte dvojí uvozovky.\\n Ponecháte-li uživatel prázdný, výchozí hodnota autorovi příkazu.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr "Upraví nastavení role."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr "\\n Upravit barvu role.\\n\\n Pokud role obsahuje mezery, použij dvojité uvozovky.\\n Barva musí být v hexadecimálním formátu.\\n [Výběr barev online](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Příklady:\\n `[p]editrole colour \\\"Spravce\\\" #ff0000`\\n `[p]editrole colour Spravce #ff9900`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "Hotovo."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgstr ""
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr "\\n Upraví název role\\n\\n Použijte dvojité uvozovky, pokud role nebo název obsahuje mezery.\\n\\n Příklady:\\n `[p]editrole name \\\"Spravce\\\" Admin`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
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:337
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr "Oznámení začalo."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "Cancel a running announce."
|
||||
msgstr "Zrušit běžící oznámení."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr "V současné době neexistuje žádné spuštěné oznámení."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr "Momentální oznámení bylo zrušeno."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
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:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: 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:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr "Aplikovat self-role."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Přidá vám self-roli.\\n\\n Administrátoři serveru musí mít nastavenou roli podle nastaveného uživatele.\\n POZNÁMKA: Role je citlivá na malá a velká písmena!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Odstraní vámself-roli.\\n\\n Administrátoři serveru musí mít nastavenou roli podle nastaveného uživatele.\\n POZNÁMKA: Role je citlivá na malá a velká písmena!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Seznam všech dostupných self-rolí.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
msgstr "Dostupné vlastní role:\\n{selfroles}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr "Spravovat self-role."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Přidá roli do seznamu dostupných self-rolí.\\n\\n POZNÁMKA: Role je citlivá na malá a velká písmena!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr "Přidáno."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr "Tato role je již self-rolí."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Odstraní roli ze seznamu dostupných self-rolí.\\n\\n POZNÁMKA: Role je citlivá na malá a velká písmena!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr "Odstraněno."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
msgstr "Uzamkne bota pouze na jeho aktuální servery."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
msgstr "Bot již není uzamčen na server."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
msgstr "Bot je nyní serverem uzamčen."
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr "Nemohu oznámit následujícímu serveru: "
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
msgstr ""
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr "Nemohu oznámit následujícím serverům: "
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
msgstr "Admin cog není načten."
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
msgstr "Daná role není platná self-role."
|
||||
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:12\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+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.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: da\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: da_DK\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
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:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
msgid "Done."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:12\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+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.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: de\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: de_DE\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr "Ich habe versucht etwas zu tun, für das mir Discord die Befugnis verweigerte. Dein Befehl konnte nicht erfolgreich ausgeführt werden."
|
||||
msgstr "Ich habe versucht, etwas zu tun, wofür mir Discord die Erlaubnis verweigert hat. Dein Befehl wurde nicht erfolgreich ausgeführt."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
msgstr "Ich habe versucht {member.display_name} er Rolle: {role.name} {verb}, aber diese Rolle hat höhere Rechte als ich. Also war es nicht möglich die Rolle erfolgreich hinzuzufügen. Bitte geb mir eine höhere Rolle und versuche es erneut."
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr "Ich kann die Rolle „{role.name}“ nicht an {member.display_name} vergeben, weil diese Rolle höher oder gleich meiner höchsten Rolle in der Discord Rollen-Hierarchie ist."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr "Ich habe versucht die Rolle {role.name} an {member.display_name} zu {verb}, aber die Rolle ist höher als meine Rolle in der Discord Hierarchie, daher war es mir nicht möglich sie hinzuzufügen. Bitte gib mir eine höhere Rolle und versuche es erneut."
|
||||
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:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr "Ich habe versucht {role.name} zu bearbeiten, aber die Rolle ist höher als deine höhste Rolle im Discord. Also konnte ich dies nicht erfolgreich hinzufügen. Versuche es mit einer höheren Rolle erneut."
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr "Ich kann die Rolle „{role.name}“ nicht bearbeiten, weil diese Rolle höher oder gleich meiner höchsten Rolle in der Discord Rollen-Hierarchie ist."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Du darfst, die Rolle „{role.name}“ nicht an {member.display_name} vergeben, weil diese Rolle höher oder gleich deiner höchsten Rolle in der Discord Rollen-Hierarchie ist."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Du darfst {member.display_name} nicht die Rolle „{role.name}“ entziehen, weil diese Rolle höher oder gleich deiner höchsten Rolle in der Discord Rollen-Hierarchie ist."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Du darfst nicht die Rolle „{role.name}“ bearbeiten, weil diese Rolle höher oder gleich deiner höchsten Rolle in der Discord Rollen-Hierarchie ist."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr "Ich braucht dafür die Bereichtigung „Rollen verwalten“."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr "Ich kündige bereits etwas an. Wenn du eine andere Ankündigung machen willst, benutze bitte zuerst `{prefix}announce cancel`."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr "Eine Sammlung von administrativen Server-Verwaltungsprogramme."
|
||||
msgstr "Eine Sammlung von administrativen Server-Verwaltungsprogrammen."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
msgstr "hinzuzufügen"
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
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:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr "Ich habe erfolgreich {role.name} zu {member.display_name} hinzugefügt"
|
||||
msgstr "Ich habe {member.display_name} erfolgreich die Rolle „{role.name}“ gegeben."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
msgstr "entfernen"
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
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:138
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr "Ich habe erfolgreich {role.name} von {member.display_name} entfernt"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr "Bearbeiten der Rollen Einstellungen."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
msgid "Done."
|
||||
msgstr "Erledigt."
|
||||
msgstr "Ich habe die Rolle „{role.name}“ erfolgreich von {member.display_name} entfernt."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Füge einem Mitglied eine Rolle hinzu.\\n\\n Benutze (amerikanische) Anführungszeichen, wenn im Namen Leerzeichen enthalten sind.\\n Wenn keine Person definiert wurde, wird die Rolle dem Ausführer des Befehls gegeben.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Füge einem Mitglied eine Rolle hinzu.\\n\\n Benutze (amerikanische) Anführungszeichen, wenn im Namen Leerzeichen enthalten sind.\\n Wenn keine Person definiert wurde, wird die Rolle von dem Ausführer des Befehls entfernt.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr "Rolleneinstellungen bearbeiten."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr "\\n Bearbeite die Farbe einer Rolle.\\n\\n Verwende (amerikanische) Anführungszeichen, wenn die Rolle Leerzeichen enthält.\\n Die Farbe muss im Hexadezimalformat angegeben werden.\\n [Online Farbwähler](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Beispiele:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "Erledigt."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr "\\n Bearbeite den Namen einer Rolle.\\n\\n Verwende (amerikanische) Anführungszeichen, wenn die Rolle Leerzeichen enthält.\\n\\n Beispiel:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, 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:257
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr "Die Ankündigung hat begonnen."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr "Breche eine laufende Ankündigung ab."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr "Es gibt keine derzeit laufende Ankündigung."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr "Die aktuelle Ankündigung wurde abgebrochen."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr "Ändere den Kanal in dem der Bot Ankündigungen macht."
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr "Ändere, wie Ankündigungen in diesem Server gesendet werden."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr "Der für Ankündigungen gewählte Kanal wurde festgelegt auf {channel.mention}"
|
||||
msgstr "{channel.mention} wurde nun als Ankündigungskanal festgelegt."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr "Schaltet Ankündigungen auf diesem Server ein oder aus."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr "Der Server {guild.name} wird Ankündigunen erhalten."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgstr "Der Server {guild.name} wird keine Ankündigunen erhalten."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "Apply selfroles."
|
||||
msgstr "Selbst hinzufügbare Rollen anwenden."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Gib dir selbst eine Rolle.\\n\\n Server Admins müssen die Rolle für Mitglieder freigeben.\\n\\n HINWEIS: Beachte Groß- und Kleinschreibung!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr "Die Liste selbst auswählbarer Rollen wurde erfolgreich bearbeitet."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Entferne eine Rolle von dir selbst.\\n\\n Server Admins müssen die Rolle für Mitglieder freigeben.\\n\\n HINWEIS: Beachte Groß- und Kleinschreibung!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
msgstr "\\nGibt eine Liste verfügbarer selbst auswählbarer Rollen aus.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
msgstr "Verfügbare selbst auswählbare Rollen:\\n{selfroles}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr "Selbst hinzufügbare Rollen verwalten."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Füge eine Rolle zur Liste der selbst hinzufügbaren Rollen hinzu.\\n\\n HINWEIS: Beachte Groß- und Kleinschreibung!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr "Hinzugefügt."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr "Diese Rolle ist bereits selbst hinzufügbar."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Entferne eine Rolle von der Liste der selbst hinzufügbaren Rollen.\\n\\n HINWEIS: Beachte Groß- und Kleinschreibung!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr "Entfernt."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr "Sperrt den Bot neuen Servern beizutreten."
|
||||
msgstr "Der Bot kann keinem neuen Server beitreten."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr "Der Bot ist nicht länger gesperrt neuen Servern beizutreten."
|
||||
msgstr "Der Bot kann nun anderen Servern beitreten."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr "Der Bot ist jetzt gesperrt neuen Servern beizutreten."
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
msgstr "Ich konnte keine Ankündigung auf diesem Server machen: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr "Ich konnte die Ankündigung auf diesem Server nicht ausführen: "
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr "Ich konnte die Ankündigung auf diesen Servern nicht ausführen: "
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr "Das Admin-Cog ist nicht geladen."
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr "Die vorausgesetzte Rolle ist keine berechtigte selbst auswählbare Rolle."
|
||||
msgstr "Die angegebene Rolle ist keine gültige selbst auswählbare Rolle."
|
||||
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:12\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+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.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: el\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: el_GR\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
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:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
msgid "Done."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
|
||||
|
||||
185
redbot/cogs/admin/locales/en-US.po
Normal file
@@ -0,0 +1,185 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-14 04:24+0000\n"
|
||||
"PO-Revision-Date: 2020-01-07 21:49\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: English\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Language: en\n"
|
||||
"X-Crowdin-File: /admin/locales/messages.pot\n"
|
||||
"Language: en_US\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
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:53
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
msgid "Done."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-14 02:14\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+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.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: es-ES\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: es_ES\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr "Intenté hacer algo que Discord me ha negado el permiso. Su comando no se pudo completar."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
msgstr "He intentado agregar {verb} {role.name} a {member.display_name} pero ese rol es más alto que mi rol en la jerarquía de Discord, por lo que no he podido añadirlo con éxito. Por favor dame un rol más alto y vuelva a intentarlo."
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr "No puedo dar el rol{role.name} a {member.display_name} porque ese rol es mayor o igual a mi rol más alto en la jerarquía de Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr "He intentado agregar {verb} {role.name} a {member.display_name} pero ese rol es más alto que mi rol en la jerarquía de Discord, por lo que no he podido añadirlo con éxito. Por favor dame un rol más alto y vuelva a intentarlo."
|
||||
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:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr "He intentado agregar {role.name} a pero ese rol es más alto que mi rol en la jerarquía de Discord, por lo que no he podido añadirlo con éxito. Por favor dame un rol más alto y vuelva a intentarlo."
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr "No puedo editar el rol {role.name} porque ese rol es mayor que el mío o igual al rol más alto en la jerarquía de Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "No puedo dejar que le des el rol {role.name} a {member.display_name} porque ese rol es mayor o igual a tu rol más alto en la jerarquía de Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "No puedo dejar que elimines el rol {role.name} de {member.display_name} porque ese rol es mayor o igual a tu rol más alto en la jerarquía de Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "No puedo permitir que edites el rol{role.name} porque ese rol es mayor o igual a tu rol más alto en la jerarquía de Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr "Necesito el permiso gestionar roles para hacerlo."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr "Ya estoy anunciando algo. Si quieres hacer un anuncio diferente, por favor usa `{prefix}announce cancel` primero."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr "Una colección de utilidades de administración de servidores."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
msgstr "añadir"
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
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:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
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:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
msgstr "eliminar"
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
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:138
|
||||
#: 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:149
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "Añadir un rol a un usuario.\\n\\n Si el usuario se deja en blanco, por defecto se convierte en autor del comando.\\n "
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Añadir un rol a un usuario.\\n\\n Usar comillas dobles si el rol contiene espacios.\\n Si el usuario se deja en blanco el valor por defecto es el autor del comando.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "Eliminar un rol de un usuario.\\n\\n Si el usuario se deja en blanco, por defecto se convierte en autor del comando.\\n "
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Elimina un rol de un usuario.\\n\\n Usar comillas dobles si el rol contiene espacios.\\n Si el usuario se deja en blanco el valor por defecto es el autor del comando.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr "Editar configuración de rol."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr "\\n Edita el color de un rol.\\n\\n Usar comillas dobles si el rol contiene espacios.\\n El color debe estar en formato hexadecimal.\\n [Selector de color en línea](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Ejemplos:\\n `[p]color editrole \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "Listo."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr "\\n Edita el nombre de un rol.\\n\\n Utilice comillas dobles si el rol o el nombre contiene espacios.\\n\\n Ejemplo:\\n `[p]nombre editrole \\\"The Transistor\\\" Test`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr "Anunciar un mensaje a todos los servidores en que el bot está."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
msgstr "El anuncio ha comenzado."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
msgstr "Cancela un anuncio en ejecución."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr "No hay ningún anuncio en ejecución."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
msgstr "El anuncio actual ha sido cancelado."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr ""
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr "Cambia cómo son enviados los anuncios en este servidor."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, 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 "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
msgstr "El canal de anuncios se ha establecido en {channel.mention}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr "Quita el canal para los anuncios."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "Apply selfroles."
|
||||
msgstr "Aplicar selfroles."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Añade un rol a ti mismo.\\n\\n Los administradores del servidor deben haber configurado el rol como usuario configurable.\\n NOTA: El rol es sensible a mayúsculas!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Elimina un rol de ti mismo.\\n\\n Los administradores del servidor deben haber configurado el rol como usuario configurable.\\n NOTA: El rol es sensible a mayúsculas!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Lista de todos los selfroles disponibles.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
msgstr "Selfroles disponibles:\\n{selfroles}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr "Gestionar selfroles."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Añade un rol a la lista de selfroles disponibles.\\n\\n NOTA: ¡El rol es sensible a mayúsculas\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr "Añadido."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr "Ese rol ya es un selfrole."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Quita un rol de la lista de selfroles disponibles.\\n\\n NOTA: El rol es sensible a mayúsculas\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr "Eliminado."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
msgstr "Bloquea el bot sólo a sus servidores actuales."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
msgstr "El bot ya no está bloqueado por el servidor."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr "El bot está bloqueado por el servidor."
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
msgstr "No pude anunciar en servidor: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr "No pude anunciar en el siguiente servidor: "
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr "No pude anunciar en los siguientes servidores: "
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr "El cog Admin no está cargado."
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: 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."
|
||||
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-14 02:15\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+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.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: fi\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: fi_FI\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr "Yritin tehdä jotain, jonka Discord kielsi minulle luvat. Komento epäonnistui onnistuneesti."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
msgstr "Yritin {verb} {role.name} kohtaan {member.display_name}, mutta tämä rooli on suurempi kuin korkein roolini Discord-hierarkiassa, joten en voinut lisätä sitä onnistuneesti. Anna minulle suurempi rooli ja yritä uudelleen."
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr "Yritin {verb} {role.name} kohtaan {member.display_name}, mutta tämä rooli on korkeampi kuin korkein rooli Discord-hierarkiassa, joten en voinut lisätä sitä onnistuneesti. Hanki suurempi rooli ja yritä uudelleen."
|
||||
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:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr "Yritin muokata {role.name}, mutta tämä rooli on korkeampi kuin korkein rooli Discord-hierarkiassa, joten en voinut lisätä sitä onnistuneesti. Hanki suurempi rooli ja yritä uudelleen."
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr "Olen jo ilmoittanut jotain. Jos haluat tehdä toisen ilmoituksen, käytä ensin \"{prefix} announce cancel\"."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr "Kokoelma palvelinhallintaohjelmia."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
msgstr "lisätä"
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr "Lisäsin {role.name} onnistuneesti {member.display_name}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
msgstr "poistaa"
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: 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:149
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr "Muokkaa rooliasetuksia."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "Tehty."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#, 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:257
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr "Ilmoita viesti kaikille palvelimille, joihin botti on."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:11\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+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.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: fr\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: fr_FR\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr "J'ai tenté de faire quelque chose que pour lequel Discord m'a refusé les permissions. La commande a échoué."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
msgstr "J'ai essayé de {verb} {role.name} à {member.display_name} mais ce rôle est plus élevé que mon rôle le plus élevé dans la hiérarchie Discord, je n'ai donc pas réussi à l'ajouter. Donnez-moi un rôle plus élevé et réessayez."
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr "Je ne peux pas donner {role.name} à {member.display_name} car ce rôle est supérieur ou égal à mon rôle le plus élevé dans la hiérarchie Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr "J'ai essayé de {verb} {role.name} à {member.display_name} mais ce rôle est plus élevé que votre rôle le plus élevé dans la hiérarchie Discord donc je n'ai pas réussi à l'ajouter. Essayez à nouveau avec un rôle plus élevé."
|
||||
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:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr "J'ai essayé d'éditer {role.name} mais ce rôle est plus élevé que votre rôle le plus élevé dans la hiérarchie Discord et je n'ai donc pas réussi à l'ajouter. Essayez à nouveau avec un rôle plus élevé."
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr "Je ne peux pas modifier {role.name} parce que ce rôle est supérieur ou égal à mon rôle le plus élevé dans la hiérarchie Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Je ne peux pas vous laisser donner {role.name} à {member.display_name} car ce rôle est supérieur ou égal à votre rôle le plus haut dans la hiérarchie Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Je ne peux pas vous permettre de supprimer {role.name} de {member.display_name} car ce rôle est supérieur ou égal à votre rôle le plus élevé dans la hiérarchie Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Je ne peux pas vous permettre de modifier {role.name} car ce rôle est supérieur ou égal à votre rôle le plus élevé dans la hiérarchie Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr "J’ai besoin de la permission de gérer les rôles pour faire cela."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr "Je suis déjà en train d'annoncer quelque chose. Si tu souhaites faire une annonce différente, tu dois d'abord utiliser la commande `{prefix}announce cancel`."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr "Un ensemble d'utilitaires d'administration du serveur."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
msgstr "ajouter"
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
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:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
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:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
msgstr "supprimer"
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
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:138
|
||||
#: 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:149
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "Ajouter un rôle à un utilisateur.\\n\\n Si aucun utilisateur n'est mentionné dans la commande, celui-ci fera effet sur l'auteur.\\n "
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Ajouter un rôle à un utilisateur.\\n\\n Utilisez des guillemets si le rôle contient des espaces.\\n Si l'utilisateur est laissé vide, c'est par défaut l'auteur de la commande.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "Retirer un rôle à un utilisateur.\\n\\n Si aucun utilisateur n'est mentionné dans la commande, celui-ci fera effet sur l'auteur.\\n "
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Retirer un rôle d'un utilisateur.\\n\\n Utilisez des guillemets doubles si le rôle contient des espaces.\\n Si l'utilisateur est laissé vide, c'est par défaut l'auteur de la commande.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr "Modifier les paramètres d'un rôle."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr "Modifier la couleur d'un rôle.\\n\\n Utilise des guillemets si le nom du rôle contient des espaces.\\n La couleur doit être au format hexadécimal\\n [Sélecteur de couleur en ligne](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Exemples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr "\\n Modifiez la couleur d'un rôle.\\n\\n Utilisez des guillemets doubles si le rôle contient des espaces.\\n La couleur doit être au format hexadécimal.\\n [Sélecteur de couleurs en ligne](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Exemples:\\n `[p]editrole color \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "Fait."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr "Modifier le nom d'un rôle.\\n\\n Utilise des guillemets si le nom du rôle contient des espaces.\\n\\n Exemples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr "\\n Modifier le nom d'un rôle.\\n\\n Utiliser des guillemets si le rôle ou le nom contient des espaces.\\n\\n Exemple:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, 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:257
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr "L’annonce a commencé."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr "Interrompre une annonce en cours."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr "Il n'y a aucune annonce en cours d'exécution."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr "L'annonce actuelle a été interrompue."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr "Changer le salon dans lequel le bot fait des annonces."
|
||||
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:283
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, 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 salon est laissé vide, c'est pas défaut le salon actuel.\\n "
|
||||
|
||||
#: 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:290
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr "Activer ou désactiver les annonces sur ce serveur."
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr "Désactive le salon pour les annonces."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr "Le serveur {guild.name} recevra maintenant les annonces."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgstr "Le serveur {guild.name} ne recevra plus les annonces."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "S'ajouter un rôle à soi-même.\\n\\n Les administrateurs du serveur doivent avoir configuré le rôle en tant qu'ajoutable par les utilisateurs.\\n\\n NOTE : Le nom du rôle est sensible aux majuscules et minuscules !\\n "
|
||||
msgid "Apply selfroles."
|
||||
msgstr "Appliquer auto-rôles."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "Se supprimer un auto-rôle.\\n\\n NOTE : Le rôle est sensible aux majuscules et minuscules !\\n "
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Ajouter un auto-rôle à vous-même.\\n\\n Les administrateurs du serveur doivent avoir configuré le rôle en tant qu'utilisable par les utilisateurs.\\n NOTE : Le rôle est sensible aux majuscules et minuscules !\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "Ajouter un rôle à la liste des auto-rôles disponibles.\\n\\n NOTE : Le nom du rôle est sensible aux majuscules et minuscules !\\n "
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Supprimez un auto-rôle de vous-même.\\n\\n Les administrateurs du serveur doivent avoir configuré le rôle en tant qu'utilisable par les utilisateurs.\\n NOTE : Le rôle est sensible aux majuscules et minuscules !\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr "La liste des auto-rôles a été modifiée avec succès."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "Supprimer un rôle de la liste des auto-rôles.\\n\\n NOTE : Le nom du rôle est sensible aux majuscules et minuscules !\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr "\\n Liste de tous les auto-rôles disponibles.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr "Auto-rôles disponibles :\\n{selfroles}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr "Gérer les auto-roles."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\nAjouter un rôle à la liste des auto-rôles disponibles.\\n\\n NOTE : Le nom du rôle est sensible aux majuscules et minuscules !\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr "Ajouté."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr "Ce rôle est déjà un selfrole."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Supprimer un rôle de la liste des auto-rôles.\\n\\n REMARQUE : Le nom du rôle est sensible aux majuscules et minuscules !\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr "Retiré."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr "Verrouiller un bot sur ses serveurs actuels uniquement."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr "Le bot n'est plus verrouillé sur ses serveurs actuels."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr "Le bot est maintenant verrouillé sur ses serveurs actuels."
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
msgstr "Je n'ai pas pu faire d'annonce dans le serveur: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr "Je n'ai pas pu annoncer au serveur suivant : "
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr "Je n'ai pas pu annoncer aux serveurs suivants : "
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr "Le cog Admin n'est pas chargé."
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: 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."
|
||||
|
||||
|
||||
232
redbot/cogs/admin/locales/he-IL.po
Normal file
@@ -0,0 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hebrew\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"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"
|
||||
"X-Crowdin-Language: he\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: he_IL\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:13\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hungarian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: hu\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: hu_HU\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
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:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "Kész."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:14\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Indonesian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: id\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: id_ID\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
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:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
msgstr "menambahkan"
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
msgstr "menghapus"
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "Selesai."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:13\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Italian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: it\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: it_IT\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr "Ho cercato di fare qualcosa ma Discord mi ha negato i permessi per farla. Il tuo comando non è stato completato con successo."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
msgstr "Ho cercato di {verb} {role.name} al gruppo {member.display_name} ma quel ruolo è più elevato del mio livello nella gerarchia di Discord quindi non sono stato in grado di aggiungerlo. prova a darmi un ruolo più alto e riprova."
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr "Ho cercato di {verb} {role.name} al gruppo {member.display_name} ma quel ruolo è più elevato del tuo livello nella gerarchia di Discord quindi non sono stato in grado di aggiungerlo. Raggiungi un ruolo più alto e riprova."
|
||||
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:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr "Ho cercato di modificare {role.name} ma quel ruolo è più elevato del tuo livello nella gerarchia di Discord quindi non sono stato in grado di aggiungerlo. Raggiungi un ruolo più alto e riprova."
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr "Sto già annunciando qualcosa. Se desideri fare un annuncio diverso, usa prima `{prefix}announce cancel`."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr "Una collezione di servizi di amministrazione del server."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
msgstr "aggiungere"
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr "Ho aggiunto con successo {role.name} al gruppo {member.display_name}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
msgstr "rimuovere"
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr "Ho rimosso con successo {role.name} dal gruppo {member.display_name}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr "Modifica impostazioni ruolo."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "Fatto."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr "Invia un annuncio a tutti i server in cui si trova il bot."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr "L'annuncio è partito."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr "Cancella un annuncio in corso."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr "L'annuncio in corso è stato cancellato."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr "Modifica il canale in cui il bot invia gli annunci."
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr "Il canale per gli annunci è stato impostato su {channel.mention}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr "Attiva/disattiva gli annunci in questo server."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr "Il server {guild.name} riceverà gli annunci."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgstr "Il server {guild.name} non riceverà gli annunci."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr "La lista dei ruoli autoassegnabili e stata modificata."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr "Blocca un bot ai suoi server attuali."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr "Il bot non è più bloccato ai server."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr "Il bot è bloccato ai server."
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
msgstr "Non ho potuto annunciare al server: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr "Il cog Admin non è caricato."
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr "Il ruolo fornito non è un ruolo autoassegnabile valido."
|
||||
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:13\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Japanese\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: ja\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: ja_JP\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr "私は不和が私に権限を拒否した何かをしようとしました。コマンドを正常に完了できませんでした。"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
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:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
msgid "Done."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:13\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Korean\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: ko\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: ko_KR\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
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:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
msgstr "역할 설정을 변경했어요."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "다 했어요."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Cancel a running announce."
|
||||
msgstr "실행 중인 공지사항을 취소했어요."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr "추가됐어요."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr "제거됐어요."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
msgstr ""
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr "다음과 같은 서버에 알릴 수 없어요. : "
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
msgstr "관리자 cog가 로드되지 않았어요."
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:13\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Dutch\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: nl\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: nl_NL\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr "Ik probeerde iets te doen, maar Discord weigerde mij toestemming te geven. Je command is geslaagd te mislukken."
|
||||
msgstr "Ik probeerde iets te doen waarvoor Discord me geen toestemming heeft gegeven. Je commando kon niet worden voltooid."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr "Ik kan {role.name} niet aan {member.display_name} geven omdat die rol hoger of gelijk is aan mijn hoogste rol in de Discord hiërarchie."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr ""
|
||||
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr "Ik kan {role.name} niet van {member.display_name} verwijderen omdat die rol hoger dan of gelijk is aan mijn hoogste rol in de Discord hiërarchie."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr "Ik kan {role.name} niet bewerken omdat die rol hoger is dan mijn of de hoogste rol in de Discord hiërarchie."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Ik kan je {role.name} niet aan {member.display_name} laten geven omdat die rol hoger is dan of gelijk is aan je hoogste rol in de Discord hiërarchie."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Ik kan je {role.name} niet van {member.display_name} laten verwijderen omdat die rol hoger dan of gelijk is aan je hoogste rol in de Discord hiërarchie."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Ik kan je {role.name} niet laten bewerken omdat die rol hoger of gelijk is aan je hoogste rol in de Discord hiërarchie."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr "Ik heb de 'rollen beheren' permissie nodig om dat te doen."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr "Ik ben al iets aan het aankondigen. Als je iets anders wilt aankondigen, voer dan eerst deze command uit: '{prefix}announce cancel'."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr "Een collectie van de server administratie voorzieningen."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr "{member.display_name} heeft de rol {role.name} al."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr "Ik heb succesvol {role.name} toegevoegd aan {member.display_name}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr "{member.display_name} heeft de rol {role.name} niet."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr "Ik heb succesvol {role.name} verwijderd van {member.display_name}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Voeg een rol toe aan een gebruiker.\\n\\n Gebruik dubbele aanhalingstekens als de rol spaties bevat.\\n Als de gebruiker leeg gelaten wordt, is het standaard ingesteld op de auteur van het commando.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Verwijder een rol van een gebruiker.\\n\\n Gebruik dubbele aanhalingstekens als de rol spaties bevat.\\n Als de gebruiker leeg gelaten wordt, is het standaard ingesteld op de auteur van het commando.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr "Rol instellingen bewerken."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr "\\n Bewerk een rolkleur.\\n\\n Gebruik dubbele aanhalingstekens als de rol spaties bevat.\\n Kleur moet in hexadecimaal formaat zijn.\\n [Online kleur kiezer](http://www.w3schools. om/colors/colors_picker. sp)\\n\\n Voorbeelden:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "Klaar."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr "\\n Bewerk de rolnaam.\\n\\n Gebruik dubbele aanhalingstekens als de rol of de naam spaties bevat.\\n\\n Voorbeeld:\\n `[p]bewerkrole naam \\\"The Transistor\\\" Test`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr "Kondig een bericht aan in alle servers."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr "De aankondiging is begonnen."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr "Annuleer een huidige aankondiging."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr "Er is momenteel geen lopende aankondiging."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr "De huidige aankondiging is geannuleerd."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr "Bewerk het kanaal waar de bot aankondigingen maakt."
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr "Verander hoe aankondigingen worden verzonden in deze gilde."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr "Het aankondigingskanaal is aangepast naar {channel.mention}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr "Aankondigingen zijn geactiveerd in deze server."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr "De server {guild.name} ontvangt aankondigingen."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgstr "De server {guild.name} ontvangt geen aankondigingen."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "Apply selfroles."
|
||||
msgstr "Zelfrollen toepassen."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Voeg een zelfrol toe aan jezelf.\\n\\n Server beheerders moeten de rol gebruiker instelbaar configureren.\\n Let op: De rol is hoofdlettergevoelig!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr "De selfroles lijst is succesvol aangepast."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Verwijder een zelfrol van jezelf.\\n\\n Server beheerders moeten de rol als gebruiker instelbaar configureren.\\n Let op: De rol is hoofdlettergevoelig!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Toont alle beschikbare zelfrollen.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
msgstr "Beschikbare zelfrollen:\\n{selfroles}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr "Beheer zelfrollen."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Voeg een rol toe aan de lijst van beschikbare zelfrollen.\\n\\n Let op: hoofdlettergevoelig!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Ik kan je {role.name} niet als zelfrol toe laten voegen omdat die rol hoger dan of gelijk is aan je hoogste rol in de Discord hiërarchie."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:458
|
||||
msgid "Added."
|
||||
msgstr "Toegevoegd."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr "Die rol is al een zelfrol."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Verwijder een rol van de lijst van beschikbare zelfrollen.\\n\\n OPMERKING: De rol is hoofdlettergevoelig!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Ik kan je {role.name} niet uit zelfrol laten verwijderen omdat die rol hoger dan of gelijk is aan je hoogste rol in de Discord-hiërarchie."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:480
|
||||
msgid "Removed."
|
||||
msgstr "Verwijderd."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr "Vergrendel de bot voor alleen deze server."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr "De bot is niet langer vergrendeld."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr "De bot is vergrendeld."
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
msgstr "Ik kan geen bericht aankondigen in: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr "Ik kan de volgende server niet aankondigen: "
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr "Ik kon de volgende servers niet aankondigen: "
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr "De admin cog is niet geladen."
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr "De ingevulde rol is geen beschikbare selfrole."
|
||||
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:13\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Norwegian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: no\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: no_NO\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr ""
|
||||
msgstr "Jeg forsøkte å gjøre noe som Discord nektet meg tillatelser til. Kommandoen din kunne ikke fullføre."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr "Jeg kan ikke gi {role.name} til {member.display_name} fordi den rollen er høyere enn eller lik min høyeste rolle i Discord-hierarkiet."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr ""
|
||||
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr "Jeg kan ikke fjerne {role.name} fra {member.display_name} fordi den rollen er høyere enn eller lik min høyeste rolle i Discord-hierarkiet."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr "Jeg kan ikke redigere {role.name} fordi den rollen er høyere enn min eller lik den høyeste rollen i Discord-hierarkiet."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
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:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Jeg kan ikke la deg gi {role.name} til {member.display_name} fordi den rollen er høyere enn eller lik din høyeste rolle i Discord-hierarkiet."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Jeg kan ikke la deg fjerne {role.name} fra {member.display_name} fordi den rollen er høyere enn eller lik din høyeste rolle i Discord-hierarkiet."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Jeg kan ikke la deg redigere {role.name} fordi den rollen er høyere enn eller lik din høyeste rolle i Discord-hierarkiet."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr "Jeg trenger tillatelse til å styre roller for å gjøre det."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr "Jeg kunngjør allerede noe. Hvis du vil gi en annen kunngjøring, bruk først `{prefix}announce cancel`."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr ""
|
||||
msgstr "En samling av serveradministrasjonsverktøy."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr "{member.display_name} har allerede rollen {role.name}."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr ""
|
||||
msgstr "Jeg har lagt til {role.name} til {member.display_name}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr "{member.display_name} har ikke rollen {role.name}."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
msgid "Done."
|
||||
msgstr "Ferdig."
|
||||
msgstr "Jeg har fjernet {role.name} fra {member.display_name}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Legg til en rolle for en bruker.\\n \\n Bruk doble anførselstegn hvis rollen inneholder mellomrom.\\n Hvis brukeren er tom, er den standard for forfatteren av kommandoen.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Fjern en rolle fra en bruker.\\n\\n Bruk doble anførselstegn hvis rollen inneholder mellomrom.\\n Hvis brukeren er tom, er den standard for forfatteren av kommandoen.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
msgid "Edit role settings."
|
||||
msgstr "Endre rolle innsillinger."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr ""
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr "\\n Rediger en rollefarge.\\n\\n Bruk doble anførselstegn hvis rollen inneholder mellomrom.\\n Farge må være i heksadesimal format.\\n [Online fargevalg] (http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Eksempler: \\n `[p] redigeringsrollefarge \" Transistoren \"# ff0000` \\n` [p] redigeringsrollefarge Test # ff9900` \\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "Ferdig."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:13\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Polish\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: pl\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: pl_PL\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr ""
|
||||
msgstr "Próbowałem/am zrobić coś, do czego Discord odmówił mi uprawnień. Twoja komenda nie powiodła się."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
msgstr "Spróbowałam {verb} {role.name} na {member.display_name}, ale ta rola jest wyższa niż moja najwyższa rola w hierarchii Discorda, więc nie mogłam jej dodać. Daj mi proszę wyższą rolę i spróbuj ponownie."
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr "Nie mogę dać {role.name} {member.display_name} ponieważ ta rola jest wyższa lub równa mojej najwyższej roli w hierarchii Discorda."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr "Spróbowałam {verb} {role.name} na {member.display_name}, ale ta rola jest wyższa niż twoja najwyższa rola w hierarchii Discorda, więc nie mogłam jej dodać. Uzyskaj proszę wyższą rolę i spróbuj ponownie."
|
||||
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 "Nie mogę usunąć {role.name} z {member.display_name}, ponieważ ta rola jest wyższa lub równa mojej najwyższej roli w hierarchii Discorda."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr "Spróbowałam zmienić {role.name}, ale ta rola jest wyższa niż twoja najwyższa rola w hierarchii Discorda, więc nie mogłam jej dodać. Uzyskaj proszę wyższą rolę i spróbuj ponownie."
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr "Nie mogę edytować {role.name}, ponieważ ta rola jest wyższa niż moja lub równa najwyższej roli w hierarchii Discorda."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
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:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Nie mogę pozwolić Tobie dać {role.name} {member.display_name} ponieważ ta rola jest większa lub równa twojej najwyższej roli w hierarchii Discorda."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Nie mogę pozwolić ci usunąć {role.name} z {member.display_name}, ponieważ ta rola jest wyższa lub równa twojej najwyższej roli w hierarchii Discorda."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Nie mogę pozwolić ci edytować {role.name}, ponieważ ta rola jest wyższa lub równa twojej najwyższej roli w hierarchii Discorda."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr "Potrzebuję uprawnień do zarządzania rolami, aby to zrobić."
|
||||
|
||||
#: 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 "Już coś ogłaszam. Jeśli chcesz złożyć inne ogłoszenie, najpierw użyj `{prefix}announce cancel`."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr ""
|
||||
msgstr "Zbiór narzędzi administracyjnych serwera."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
msgstr "dodać"
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr "{member.display_name} ma już rolę {role.name}."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr ""
|
||||
msgstr "Pomyślnie dodałem/am {role.name} dla {member.display_name}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
msgstr "usunąć"
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr "{member.display_name} nie ma roli {role.name}."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
msgid "Done."
|
||||
msgstr "Gotowe."
|
||||
msgstr "Pomyślnie usunąłem/am {role.name} od {member.display_name}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Dodawanie roli do użytkownika.\\n\\n Użyj podwójnych cudzysłowów, jeśli rola zawiera spacje.\\n Jeśli użytkownik jest pozostanie pusty, domyślnie zostanie wybrany autor komendy.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Usuwanie roli dla użytkownika.\\n\\n Użyj podwójnych cudzysłowów, jeśli rola zawiera spacje.\\n Jeśli użytkownik jest pozostanie pusty, domyślnie zostanie wybrany autor komendy.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
msgid "Edit role settings."
|
||||
msgstr "Edytuj ustawienia roli."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr ""
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr "\\n Modyfikuj kolor roli.\\n\\n Użyj podwójnych cudzysłowów, jeśli rola zawiera spacje.\\n Kolor musi być w formacie szesnastkowym.\\n [Wybór kolorów online](http://www.w3schools. om/colors/colors_picker.asp)\\n\\n Przykłady:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "Gotowe."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgstr ""
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr "\\n Edytuj nazwę roli.\\n\\n Użyj podwójnych cudzysłowów, jeśli rola lub nazwa zawiera spacje.\\n\\n Przykład:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr "Rozgłoś wiadomość do wszystkich serwerów w których jest ten bot."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr "Ogłaszanie rozpoczęte."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "Cancel a running announce."
|
||||
msgstr "Anuluj uruchomione ogłoszenie."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr "Nie ma aktualnie uruchomionych ogłoszeń."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr "Bieżące ogłoszenie zostało anulowane."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr "Zmień sposób wysyłania ogłoszeń w tej gildii."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr "\\n Zmień kanał, w którym bot wyśle ogłoszenia.\\n\\n Jeśli kanał nie zostanie zdefiniowany, domyślnie zostanie wybrany bieżący kanał.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr "Kanał ogłoszeniowy został ustawiony na {channel.mention}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr "Usuwa wybór kanału dla ogłoszeń."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr "Zastosuj własne role."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Dodawanie ról dla siebie.\\n\\n Administratorzy serwera muszą skonfigurować rolę jako ustawialną przez użytkownika.\\n UWAGA: Rola rozróżnia wielkość liter!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr "Moduł Admin nie jest załadowany."
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:14\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese, Brazilian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: pt-BR\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: pt_BR\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr "Eu tentei fazer algo que o Discord me negou as permissões. Seu comando falhou em ser completado com sucesso."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr "Não posso atribuir o cargo {role.name} para {member.display_name} porque este cargo é mais alto ou igual que o meu cargo mais alto na hierarquia do Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr ""
|
||||
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr "Não posso remover o cargo {role.name} de {member.display_name} porque este cargo é mais alto ou igual que o meu cargo mais alto na hierarquia do Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr "Não posso alterar o cargo {role.name} porque este cargo é mais alto ou igual que o meu cargo mais alto na hierarquia do Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Não posso deixar você atribuir o cargo {role.name} para {member.display_name} porque este cargo é mais alto ou igual que o meu cargo mais alto na hierarquia do Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Não posso deixar você rmover o cargo {role.name} de {member.display_name} porque este cargo é mais alto ou igual que o meu cargo mais alto na hierarquia do Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Não posso deixar você alterar o cargo {role.name} porque este cargo é mais alto ou igual que o meu cargo mais alto na hierarquia do Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr "Preciso da permissão para alterar os cargos para fazer isto."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr "Eu já estou anunciando algo. Se quer fazer um anúncio diferente, por favor use `{prefix}announce cancel` primeiro."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr "Uma coleção de ferramentas de administração para o servidor."
|
||||
msgstr "Um conjunto de ferramentas para a administração do servidor."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr "{member.display_name} já tem o cargo {role.name}."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr "Eu adicionei com sucesso {role.name} de {member.display_name}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr "{member.display_name} não tem o cargo {role.name}."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr "Eu removi com sucesso {role.name} de {member.display_name}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr "Edite as configurações de cargo."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
msgid "Done."
|
||||
msgstr "Concluído."
|
||||
msgstr "Eu removi {role.name} de {member.display_name} com sucesso"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Concede um cargo a um(a) usuário(a).\\n\\n Use aspas duplas se o nome do cargo contiver espaços.\\n Se o usuário for deixado em branco, por padrão será usado a(o) autor(a) do comando.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Remove um cargo de um(a) usuário(a).\\n\\n Use aspas duplas se o nome do cargo contiver espaços.\\n Se o usuário for deixado em branco, por padrão será usado a(o) autor(a) do comando.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
msgid "Edit role settings."
|
||||
msgstr "Altera as configurações de cargo."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr ""
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr "\\n Edita a cor de um cargo.\\n\\n Use aspas duplas se o cargo contiver espaços.\\n A cor precisa estar em formato hexadecimal.\\n [Seletor de cores online](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Exemplos:\\n `[p]editrole colour \\\"O Transistor\\\" #ff0000`\\n `[p]editrole colour Teste #ff9900`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "Concluído."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgstr ""
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr "\\n Alterar o nome de um cargo.\\n\\n Use aspas duplas se o cargo ou o nome contiverem espaços.\\n\\n Exemplo:\\n `[p]editrole name \\\"O Transistor\\\" Teste`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr "Anuncia uma mensagem para todos os servidores onde o bot está."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr "O anúncio começou."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "Cancel a running announce."
|
||||
msgstr "Cancela um anúncio em andamento."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr "Não existe nenhum anúncio em andamento."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr "O anúncio atual foi cancelado."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr "Altera como os anúncios são enviados nessa guilda."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr "O canal de anúncios foi definido como {channel.mention}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr "Concede cargos autoatribuíveis a si."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Concede um cargo autoatribuível a si.\\n\\n Os administradores do servidor precisarão configurar o cargo como autoatribuível.\\n NOTA: o nome do cargo diferencia entre maiúsculas e minúsculas!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Remove um cargo autoatribuível de si.\\n\\n Os administradores do servidor precisarão configurar o cargo como autoatribuível.\\n NOTA: o nome do cargo diferencia entre maiúsculas e minúsculas!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Lista todos os cargos autoatribuíveis.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
msgstr "Cargos autoatribuíveis disponíveis:\\n{selfroles}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr "Gerenciar cargos autoatribuíveis."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Adiciona um cargo à lista de cargos autoatribuíveis.\\n\\n NOTA: o nome do cargo diferencia entre maiúsculas e minúsculas!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
msgid "I cannot let you add {role.name} as a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Não posso deixar você atribuir {role.name} como um cargo autoatribuível porque este cargo é mais alto ou igual ao seu mais alto cargo na hierarquia do Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:458
|
||||
msgid "Added."
|
||||
msgstr "Adicionado."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr "Este cargo já é autoatribuível."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Remove um cargo da lista de cargos autoatribuíveis.\\n\\n NOTA: o nome do cargo diferencia entre maiúsculas e minúsculas!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
msgid "I cannot let you remove {role.name} from being a selfrole because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Não posso deixar você remover o cargo {role.name} da lista de cargos autoatribuíveis porque este cargo é mais alto ou igual ao seu mais alto cargo na hierarquia do Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:480
|
||||
msgid "Removed."
|
||||
msgstr "Removido."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
msgstr "Restringe o bot somente aos servidores atuais."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
msgstr "O bot não está mais restrito aos servidores atuais."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
msgstr "O está restrito aos servidores atuais."
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr "Não pude anunciar no seguinte servidor: "
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
msgstr ""
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr "Não pude anunciar nos seguintes servidores: "
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
msgstr "O cog 'Admin' não está carregado."
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
msgstr "O cargo fornecido não é um cargo autoatribuível válido."
|
||||
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:13\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: pt-PT\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: pt_PT\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr "Tentei fazer uma coisa que o Discord negou permissão para fazer. O comando não foi concluído."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr "Eu não posso dar {role.name} a {member.display_name} porque esse cargo é igual ou maior a meu cargo na hierarquia do Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr "Não posso remover {role.name} de {member.display_name} porque esse cargo é igual ou maior a meu cargo na hierarquia do Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr "Já estou a anunciar algo. Se queres fazer um anúncio diferente usa `{prefix}announce cancel` antes de usares este comando."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr "Uma coleção de utilidades para administração de servidores."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr "Adicionei com sucesso {role.name} a {member.display_name}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr "Removi com sucesso {role.name} de {member.display_name}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "Concluído."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr "Anuncia uma mensagem para todos os servidores em que o bot está."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr "O anúncio foi iniciado."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr "Cancelar um anúncio em curso."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr "O anúncio atual foi cancelado."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr "Mude o canal para o qual o bot faz os anúncios."
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr "O canal de anúncio foi definido para {channel.mention}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr "Ativar ou Desativar os anúncios neste servidor."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr "O servidor {guild.name} vai receber anúncios."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgstr "O servidor {guild.name} não vai receber anúncios."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr "A lista de cargos definíveis foi modificada com sucesso."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr "Bloquear o bot aos servidores atuais."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr "O bot já não está bloqueado aos servidores atuais."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr "O bot está agora bloqueado aos servidores atuais."
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
msgstr "Não me foi possível anunciar no servidor: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr "O cog 'Admin' não está carregado."
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr "O cargo indicado não é um cargo definível válido."
|
||||
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-14 02:09\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Romanian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: ro\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: ro_RO\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
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:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
msgid "Done."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:13\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Russian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: ru\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: ru_RU\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr "Я попыталась сделать что-то, в чем Discord отказал мне в разрешениях. Ваша команда не была выполнена успешно."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr "Невозможно выдать роль {role.name} для {member.display_name}, потому что эта роль выше или равна моей самой высокой роли в иерархии Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr ""
|
||||
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:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr "Я попытался изменить {role.name}, но эта роль выше Вашей в иерархии Discord, поэтому я не смог добавить её. Повысьте роль и попробуйте еще раз."
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr "Я не могу редактировать {role.name}, потому что эта роль выше моей или равна самой высокой роли в иерархии Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Я не могу вам дать {role.name}, {member.display_name}, поскольку эта роль выше или равна вашей самой высокой роли в иерархии Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Я не могу позволить вам удалить {role.name} у {member.display_name}, потому что эта роль выше или равна вашей самой высокой роли в иерархии Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "Я не могу позволить вам редактировать {role.name}, потому что эта роль больше или равна вашей самой высокой роли в иерархии Discord."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr "Мне нужно управлять правами ролей, чтобы сделать это."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr "Я уже что-то объявляю. Если вы хотите сделать другое объявление, сначала используйте `{prefix}announce cancel`."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr "Набор утилит администрирования сервера."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
msgstr "добавить"
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr "{member.display_name} уже имеет роль {role.name}."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr "Я успешно добавила роль {role.name} пользователю {member.display_name}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
msgstr "удалить"
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr "{member.display_name} не имеет роли {role.name}."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: 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:149
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Добавить роль пользователю.\\n\\n Используйте двойные кавычки, если роль содержит пробелы.\\n Если пользователь не указан, по умолчанию используется автор команды.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Удалить роль у пользователя.\\n\\n Используйте двойные кавычки, если роль содержит пробелы.\\n Если пользователь не указан, по умолчанию используется автор команды.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr "Изменение параметров роли."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr "\\n Изменить цвет роли.\\n\\n Используйте двойные кавычки, если роль содержит пробелы.\\n Цвет должен быть в шестнадцатеричном формате.\\n [Онлайн-палитра цветов](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Примеры:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "Готово."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr "\\n Изменить название роли.\\n\\n Используйте двойные кавычки, если роль или имя содержат пробелы.\\n\\n Примеры:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr "Объявить сообщение на всех серверах, к которым подключен бот."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr "Объявление началось."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr "Отменить текущее объявление."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr "В данный момент нет запущенных объявлений."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr "Текущее объявление было отменено."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr "Изменить канал, на котором бот делает объявления."
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr "Изменить способ отправки объявлений на этом сервере."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr "Канал объявления был установлен на {channel.mention}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr "Переключить объявления, когда этот сервер включен."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr "Сервер {guild.name} будет получать объявления."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgstr "Сервер {guild.name} не будет получать объявления."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "Apply selfroles."
|
||||
msgstr "Применить свои роли."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Добавить собственную роль себе.\\n\\n Администраторы сервера должны настроить роль как устанавливаемую пользователем.\\n ПРИМЕЧАНИЕ: Роль чувствительна к регистру!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr "Список ролей был изменен успешно."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Удалить собственную роль у себя.\\n\\n Администраторы сервера должны настроить роль как устанавливаемую пользователем.\\n ПРИМЕЧАНИЕ: Роль чувствительна к регистру!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Список всех доступных Собственных ролей.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
msgstr "Доступные собственные роли:\\n{selfroles}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr "Управление своими ролями."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Добавить роль в список доступных своих ролей.\\n\\n ПРИМЕЧАНИЕ: Роль чувствительна к регистру!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr "Добавлено."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr "У вас уже имеется эта роль."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Удалить роль из списка доступных собственных ролей.\\n\\n ПРИМЕЧАНИЕ: Роль чувствительна к регистру!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr "Удалено."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr "Зафиксировать бота только на его текущих серверах."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr "Бот больше не зафиксирован на сервере."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr "Бот теперь зафиксирован на сервере."
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
msgstr "Я не могу объявить на сервере: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr "Я не могу сделать объявление на следующем сервере: "
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr "Я не могу сделать объявление на следующих серверах: "
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr "Модуль Admin не загружен."
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr "Предоставленная роль не является допустимой ролью."
|
||||
|
||||
|
||||
@@ -1,186 +1,234 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:14\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Slovak\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: sk\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: sk_SK\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr ""
|
||||
msgstr "Pokúsil som sa urobiť niečo, pre čo mi Discord odoprel povolenie. Váš príkaz sa nepodarilo úspešne dokončiť."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr "Nemôžem dať {role.name} na {member.display_name} pretože táto rola je vyššia alebo rovná mojej najvyššej rolí v Discord hierarchií."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
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:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr "Už niečo oznamujem. Ak by ste chceli urobiť iné oznámenie, prosím, najskôr použite `{prefix} oznámiť zrušenie`."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr ""
|
||||
msgstr "\n"
|
||||
"Zbierka obslužných programov pre správu servera."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr "{member.display_name} už má rolu {role.name}."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr "\n"
|
||||
"Úspešne som pridal {role.name} do {member.display_name}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
msgid "Done."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
|
||||
|
||||
232
redbot/cogs/admin/locales/sr-SP.po
Normal file
@@ -0,0 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Serbian (Cyrillic)\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: sr\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: sr_SP\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:14\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Swedish\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: sv-SE\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: sv_SE\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr "Jag försökte göra något som Discord nekade mig behörighet till. Ditt kommando kunde inte slutföras."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
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:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr "Jag tillkännager redan något. Om du vill göra ett annat tillkännagivande, vänligen använd `{prefix}announce cancel` först."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr "En samling administrationsverktyg för servern."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr "Redigera rollinställningar."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "Klart."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr "Meddela ett meddelande till alla servrar som botten är i."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr "Tillkännagivandet har börjat."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Cancel a running announce."
|
||||
msgstr "Avbryt en löpande avisering."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
msgstr "Admin cog är inte laddad."
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
msgstr "Den angivna rollen är inte en giltig självroll."
|
||||
|
||||
|
||||
@@ -1,186 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2019-07-05 22:33+0200\n"
|
||||
"PO-Revision-Date: 2019-07-06 16:14\n"
|
||||
"Last-Translator: Robert Jansen (Kowlin)\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Turkish\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.0\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: crowdin.com\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: tr\n"
|
||||
"X-Crowdin-File: /cogs/admin/locales/messages.pot\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: tr_TR\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:17
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr ""
|
||||
msgstr "Bir şey denemeye çalıştım ancak Discord izinlerim yeterli olmadı. Komutunuz işleme koyulamadı."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:22
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than my highest role in the Discord hierarchy so I was unable to successfully add it. Please give me a higher role and try again."
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr "{member.display_name} kullanıcısına {role.name} veremiyorum çünkü bu rol Discord hiyerarşisinde rolüme eşit veya daha yüksek."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I tried to {verb} {role.name} to {member.display_name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr ""
|
||||
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 "{member.display_name} kullanıcısından {role.name} rolünü kaldıramıyorum çünkü bu rol Discord hiyerarşisinde rolüme eşit veya daha yüksek."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:36
|
||||
msgid "I tried to edit {role.name} but that role is higher than your highest role in the Discord hierarchy so I was unable to successfully add it. Please get a higher role and try again."
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr "{role.name} kullanıcısının rolünü düzenleyemiyorum, çünkü bu rol Discord hiyerarşisinde rolüme eşit veya daha yüksek."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:43
|
||||
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:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "{member.display_name} kullanıcısına {role.name} rolünü verilemedi çünkü bu rol discord hiyerarşisinde senin mevcut rolünden daha yüksek durumda."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "{member.display_name} kullanıcısının {role.name} rolünü silmene müsaade edemem çünkü bu rol mevcut rolünden daha yüksek durumda."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr "{role.name} rolünü düzenlemene müsaade edemem çünkü bu rol mevcut rolünden daha yüksek durumda."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr "Bunu yapabilmem için \"rolleri yönet\" iznine ihtiyacım var."
|
||||
|
||||
#: 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 "Zaten şu anda bir duyuru yapmaktayım. Başka bir duyuru yapmak istiyorsanız lütfen bu komutu kullanın: `{prefix}announce cancel`."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr ""
|
||||
msgstr "Sunucu yönetimiyle ilgili ayarlar."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:115 redbot/cogs/admin/admin.py:160
|
||||
msgid "add"
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr "{member.display_name} kullanıcısı {role.name} rolüne zaten sahip."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:121
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr ""
|
||||
msgstr "{role.name} rolünü {member.display_name} kullanıcısına başarılı bir şekilde ekledim."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:132 redbot/cogs/admin/admin.py:180
|
||||
msgid "remove"
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr "{member.display_name} kullanıcısı {role.name} rolüne sahip değil."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:138
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:149
|
||||
#, docstring
|
||||
msgid "Add a role to a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:169
|
||||
#, docstring
|
||||
msgid "Remove a role from a user.\\n\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:187
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:194
|
||||
#, docstring
|
||||
msgid "Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:217 redbot/cogs/admin/admin.py:245
|
||||
msgid "Done."
|
||||
msgstr "Tamamdır."
|
||||
msgstr "{role.name} rolünü {member.display_name} kullanıcısından başarılı bir şekilde kaldırdım"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Examples:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Kullanıcıya rol ekle.\\n\\n Rol boşluk içeriyorsa çift tırnak işareti kullanın.\\n Kullanıcı boş bırakılırsa, varsayılan olarak komutun yazarıdır.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:250
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr "\\n Kullanıcıdan rol sil.\\n\\n Rol boşluk içeriyorsa çift tırnak işareti kullanın.\\n Kullanıcı boş bırakılırsa, varsayılan olarak komutun yazarıdır.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:257
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:265
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
msgid "Edit role settings."
|
||||
msgstr "Rol ayarlarını düzenle."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:271
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:277
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "Change the channel to which the bot makes announcements."
|
||||
msgstr ""
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr "Rol rengini düzenler.\\n\\n Rol boşluk içeriyorsa çift tırnak kulanın.\\n Renk hexadecimal formatında olmalıdır.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Örneğin:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:283
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr "Tamamlandı."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:290
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "Toggle announcements being enabled this server."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:296
|
||||
msgid "The server {guild.name} will receive announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:300
|
||||
msgid "The server {guild.name} will not receive announcements."
|
||||
msgstr ""
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr "Rolün ismini düzenler.\\n\\n Rol boşluk içeriyorsa çift tırnak kulanın.\\n\\n Örneğin:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Add a role to yourself.\\n\\n Server admins must have configured the role as user settable.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr "Botun bulunduğu tüm sunuculara duyuru geçer."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:337
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr "Duyuru başladı."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Remove a selfrole from yourself.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "Cancel a running announce."
|
||||
msgstr "Şu an yapılan duyuruyu iptal eder."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:347
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr "Şu anda yapılan bir duyuru mevcut değil."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr "Şu an yapılan duyuru iptal edildi."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr "Anonsların sunucuya nasıl gönderileceğini belirleyin."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:355 redbot/cogs/admin/admin.py:367
|
||||
msgid "The selfroles list has been successfully modified."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:360
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:371
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr "{channel.mention} duyuru kanalı olarak ayarlandı"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr "Kişisel rol ekle."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "Kişisel rol ekler.\\n\\n Sunucu yöneticileri kullanıcının kullanabileceği şekilde ayarlamalıdır.\\n\\n NOT: Rol büyük küçük harf duyarlıdır!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "Kişisel rol siler.\\n\\n Sunucu yöneticileri kullanıcının kullanabileceği şekilde ayarlamalıdır.\\n\\n NOT: Rol büyük küçük harf duyarlıdır!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
msgstr "\\n Kullanılabilir kişisel rolleri listeler.\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:377
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
msgstr "Kullanılabilir kişisel roller:\\n{selfroles}"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:394
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr "Kişisel rolleri düzenle."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Kullanılabilir kişisel roller listesine rol ekler.\\n\\n NOT: Rol büyük küçük harf duyarlıdır!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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} kullanıcısına belirttiğin rolü vermene müsaade edemem çünkü bu rol mevcut rolünden daha yüksek."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:458
|
||||
msgid "Added."
|
||||
msgstr "Eklendi."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr "Bu rol zaten bir kişisel rol."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr "\\n Kullanılabilir kişisel roller listesinden rol siler.\\n\\n NOT: Rol büyük küçük harf duyarlıdır!\\n "
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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} kullanıcısından belirttiğin rolü silmene müsaade edemem çünkü bu rol mevcut rolünden daha yüksek."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:480
|
||||
msgid "Removed."
|
||||
msgstr "Kaldırıldı."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
msgstr "Botu şu an bulunduğu sunucularda kilitler."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:399
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
msgstr "Botun sunucu kilidi aktif değil."
|
||||
|
||||
#: redbot/cogs/admin/admin.py:401
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
msgstr "Botun sunucu kilidi aktif."
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr "Bu sunucuya duyuru yapamıyorum: "
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to server: {server.id}"
|
||||
msgstr ""
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr "Bu sunuculara duyuru yapamıyorum: "
|
||||
|
||||
#: redbot/cogs/admin/converters.py:25
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
msgstr "The Admin eklentisi yüklenmedi."
|
||||
|
||||
#: redbot/cogs/admin/converters.py:34
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
msgstr "Girilen kişisel rol geçerli bir kişisel rol değil."
|
||||
|
||||
|
||||
232
redbot/cogs/admin/locales/uk-UA.po
Normal file
@@ -0,0 +1,232 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: red-discordbot\n"
|
||||
"POT-Creation-Date: 2020-08-06 12:19+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Ukrainian\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Generated-By: redgettext 3.1\n"
|
||||
"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n"
|
||||
"X-Crowdin-Project: red-discordbot\n"
|
||||
"X-Crowdin-Project-ID: 289505\n"
|
||||
"X-Crowdin-Language: uk\n"
|
||||
"X-Crowdin-File-ID: 42\n"
|
||||
"Language: uk_UA\n"
|
||||
|
||||
#: redbot/cogs/admin/admin.py:18
|
||||
msgid "I attempted to do something that Discord denied me permissions for. Your command failed to successfully complete."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:23
|
||||
msgid "I can not give {role.name} to {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:29
|
||||
msgid "I can not remove {role.name} from {member.display_name} because that role is higher than or equal to my highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:35
|
||||
msgid "I can not edit {role.name} because that role is higher than my or equal to highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:41
|
||||
msgid "I can not let you give {role.name} to {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:47
|
||||
msgid "I can not let you remove {role.name} from {member.display_name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:53
|
||||
msgid "I can not let you edit {role.name} because that role is higher than or equal to your highest role in the Discord hierarchy."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:59
|
||||
msgid "I need manage roles permission to do that."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:61
|
||||
msgid "I am already announcing something. If you would like to make a different announcement please use `{prefix}announce cancel` first."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:71
|
||||
#, docstring
|
||||
msgid "A collection of server administration utilities."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:161
|
||||
msgid "{member.display_name} already has the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:181
|
||||
msgid "I successfully added {role.name} to {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:191
|
||||
msgid "{member.display_name} does not have the role {role.name}."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:211
|
||||
msgid "I successfully removed {role.name} from {member.display_name}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:222
|
||||
#, docstring
|
||||
msgid "\\n Add a role to a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:238
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from a user.\\n\\n Use double quotes if the role contains spaces.\\n If user is left blank it defaults to the author of the command.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:252
|
||||
#, docstring
|
||||
msgid "Edit role settings."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:259
|
||||
#, docstring
|
||||
msgid "\\n Edit a role's colour.\\n\\n Use double quotes if the role contains spaces.\\n Colour must be in hexadecimal format.\\n [Online colour picker](http://www.w3schools.com/colors/colors_picker.asp)\\n\\n Examples:\\n `[p]editrole colour \\\"The Transistor\\\" #ff0000`\\n `[p]editrole colour Test #ff9900`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:288 redbot/cogs/admin/admin.py:321
|
||||
msgid "Done."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:292
|
||||
#, docstring
|
||||
msgid "\\n Edit a role's name.\\n\\n Use double quotes if the role or the name contain spaces.\\n\\n Example:\\n `[p]editrole name \\\"The Transistor\\\" Test`\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:326
|
||||
#, docstring
|
||||
msgid "Announce a message to all servers the bot is in."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:333
|
||||
msgid "The announcement has begun."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:340
|
||||
#, docstring
|
||||
msgid "Cancel a running announce."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:342
|
||||
msgid "There is no currently running announcement."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:345
|
||||
msgid "The current announcement has been cancelled."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:351
|
||||
#, docstring
|
||||
msgid "Change how announcements are sent in this guild."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:356
|
||||
#, docstring
|
||||
msgid "\\n Change the channel where the bot will send announcements.\\n\\n If channel is left blank it defaults to the current channel.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:365
|
||||
msgid "The announcement channel has been set to {channel.mention}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:370
|
||||
#, docstring
|
||||
msgid "Unsets the channel for announcements."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:395
|
||||
#, docstring
|
||||
msgid "Apply selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:400
|
||||
#, docstring
|
||||
msgid "\\n Add a selfrole to yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:411
|
||||
#, docstring
|
||||
msgid "\\n Remove a selfrole from yourself.\\n\\n Server admins must have configured the role as user settable.\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:422
|
||||
#, docstring
|
||||
msgid "\\n Lists all available selfroles.\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:432
|
||||
msgid "Available Selfroles:\\n{selfroles}"
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:438
|
||||
#, docstring
|
||||
msgid "Manage selfroles."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:443
|
||||
#, docstring
|
||||
msgid "\\n Add a role to the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:450
|
||||
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:458
|
||||
msgid "Added."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:461
|
||||
msgid "That role is already a selfrole."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:465
|
||||
#, docstring
|
||||
msgid "\\n Remove a role from the list of available selfroles.\\n\\n NOTE: The role is case sensitive!\\n "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:472
|
||||
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:480
|
||||
msgid "Removed."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:485
|
||||
#, docstring
|
||||
msgid "Lock a bot to its current servers only."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:490
|
||||
msgid "The bot is no longer serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/admin.py:492
|
||||
msgid "The bot is now serverlocked."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:68
|
||||
msgid "I could not announce to the following server: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/announcer.py:70
|
||||
msgid "I could not announce to the following servers: "
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:12
|
||||
msgid "The Admin cog is not loaded."
|
||||
msgstr ""
|
||||
|
||||
#: redbot/cogs/admin/converters.py:20
|
||||
msgid "The provided role is not a valid selfrole."
|
||||
msgstr ""
|
||||
|
||||