Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI and i18n Updates #2436

Draft
wants to merge 10 commits into
base: dev
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .flake8
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
[flake8]
ignore = E203, E266, E501, W503, C901
ignore = E203, E501, W503, C901
max-line-length = 99
max-complexity = 18
select = B,C,E,F,W,T4,B9,TC,TC1

25 changes: 0 additions & 25 deletions .travis.yml

This file was deleted.

373 changes: 180 additions & 193 deletions config/example_options.ini

Large diffs are not rendered by default.

280 changes: 113 additions & 167 deletions config/example_permissions.ini
Original file line number Diff line number Diff line change
@@ -1,191 +1,137 @@
; DON'T OPEN THIS FILE WITH NOTEPAD. If you don't have a preferred text editor, use notepad++ or any other modern text editor.
;
; If you edit this file, Save-As permissions.ini
;
;
; This is the permissions file for MusicBot. Do not edit this file using Notepad.
; Use Notepad++ or a code editor like Visual Studio Code.
; For help, see: https://just-some-bots.github.io/MusicBot/
;
; This file was generated by MusicBot, it contains all options set to their default values.
;
; Basics:
; - Semicolons are comment characters, any line that starts with one is ignored.
; - Sections headers are permissions groups, they're the lines that have a word in [Brackets]. You can add more for more permissions groups.
; - Options with a semicolon before them will be ignored.
; - Add whatever permissions you want, but always have at least one.
; - Never have an options without a value, i.e. "CommandBlacklist = "
; - [Default] is a special section. Any user that doesn't get assigned to a group via role or UserList gets assigned to this group.
; - [Owner (auto)] is a section that owner of the bot gets assigned to.
;
;
; Option info:
;
; [Groupname]
; This is the section header. The word is the name of the group, just name it something appropriate for its permissions.
;
; CommandWhitelist = command1 command2
; List of commands users are allowed to use, separated by spaces. Don't include the prefix, i.e. ! Overrides CommandBlacklist if set.
;
; CommandBlacklist = command1 command2
; List if commands users are not allowed to use. You don't need to use both
; whitelist and blacklist since blacklist gets overridden. Just pick one.
;
; IgnoreNonVoice = command1 command2
; List of commands that the user is required to be in the same voice channel as the bot to use.
; For example, if you don't want the user to be able to voteskip songs while not in the voice channel, add skip to this option.
;
; GrantToRoles = 111222333444555 999888777000111
; List of ids to automatically grant this group to. To get the id of a role, use the listids command.
;
; UserList = 21343341324 321432413214321
; List of user ids to grant this group to. This option overrides the role granted by the GrantToRoles option.
;
; MaxSongLength = 600
; Maximum length of a song in seconds. Note: This won't always work if the song data doesn't have duration listed.
; This doesn't happen often, but youtube, soundcloud, etc work fine though. This will be fixed in a future update.
; A value of 0 means unlimited.
;
; MaxSongs = 5
; Maximum number of songs a user is allowed to queue. A value of 0 means unlimited.
;
; MaxPlaylistLength = 10
; Maximum number of songs a playlist is allowed to have to be queued. A value of 0 means unlimited.
;
; MaxSearchItems = 10
; The maximum number of items that can be returned in a search.
;
; AllowPlaylists = yes
; Whether or not the user is allowed to queue entire playlists.
;
; InstaSkip = no
; Allows the user to skip a song without having to vote, like the owner.
;
; SkipLooped = no
; Allows the user to skip a looped song.
;
; Remove = no
; Allows the user to remove any song from the queue at any point.
;
; SkipWhenAbsent = yes
; Tells the bot to automatically skip songs queued by people in this group who have left the voice channel after queueing.
; Will only skip once the song is about to play.
;
; BypassKaraokeMode = no
; Allows the user to queue songs even when karaoke mode is activated.
;
; SummonNoVoice = yes
; Allows the user to automatically summon the bot when using the play or the stream command if there is no voice channel
; that the bot is already joined in the server. It is also expected that the user have ability to invoke summon command to
; use this option.
;
; Extractors = spotify:musicbot youtube generic soundcloud Bandcamp
; Specify yt-dlp extractor names that MusicBot will allow users to play media from.
; Each extractor name should be separated by spaces or commas.
; If left empty, hard-coded defaults will be allowed.
; The yt-dlp project has a list of supported services / extractor names here:
; https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md
;
; The extractor `spotify:musicbot` is provided by MusicBot, not by yt-dlp.
; To allow ALL services, including porn services, add "__" to the list, without quotes.
; Example to allow all:
;
; Extractors = __
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; - Lines starting with semicolons (;) are comments, and are ignored.
; - Words in square brackets [ ] are permission group names.
; - Group names must be unique, and cannot be duplicated.
; - Each group must have at least one permission option defined.
; - [Default] is a reserved section. Users without a specific group assigned will use it.
; - [Owner (auto)] is a reserved section that cannot be edited.
;
; Available Options:
; CommandWhitelist =
; List of command names allowed for use, separated by spaces.
; Sub-command access can be controlled by adding _ and the sub-command name.
; That is `config_set` grants only the `set` sub-command of the config command.
; This option overrides CommandBlacklist if set.
;
; CommandBlacklist =
; List of command names denied from use, separated by spaces.
; Will not work if CommandWhitelist is set!
;
; AdvancedCommandLists = no
; When enabled, CommandBlacklist and CommandWhitelist are used together.
; Only commands in the whitelist are allowed, however sub-commands may be denied by the blacklist.
;
; IgnoreNonVoice =
; List of command names that can only be used while in the same voice channel as MusicBot.
; Some commands will always require the user to be in voice, regardless of this list.
; Command names should be separated by spaces.
;
; GrantToRoles =
; List of Discord server role IDs that are granted this permission group.
; This option is ignored if UserList is set.
;
; UserList =
; List of Discord member IDs that are granted permissions in this group.
; This option overrides GrantToRoles.
;
; MaxSongs = 8
; Maximum number of songs a user is allowed to queue.
; A value of 0 means unlimited.
;
; MaxSongLength = 210
; Maximum length of a song in seconds. A value of 0 means unlimited.
; This permission may not be enforced if song duration is not available.
;
; MaxPlaylistLength = 0
; Maximum number of songs a playlist is allowed to have when queued.
; A value of 0 means unlimited.
;
; MaxSearchItems = 10
; The maximum number of items that can be returned in a search.
;
; AllowPlaylists = yes
; Allow users to queue playlists, or multiple songs at once.
;
; InstaSkip = no
; Allow users to skip without voting, if LegacySkip config option is enabled.
;
; SkipLooped = no
; Allows the user to skip a looped song.
;
; Remove = no
; Allows the user to remove any song from the queue.
; Does not remove or skip currently playing songs.
;
; SkipWhenAbsent = yes
; Skip songs added by users who are not in voice when their song is played.
;
; BypassKaraokeMode = no
; Allows the user to add songs to the queue when Karaoke Mode is enabled.
;
; SummonNoVoice = no
; Auto summon to user voice channel when using play commands, if bot isn't in voice already.
; The summon command must still be allowed for this group!
;
; Extractors = youtube, Bandcamp, spotify:musicbot, soundcloud, generic
; Specify yt-dlp extractor names, separated by spaces, that are allowed to be used.
; When empty, hard-coded defaults are used. The defaults are displayed above, but may change between versions.
; To allow all extractors, add `__` without quotes to the list.
;
; Services/extractors supported by yt-dlp are listed here:
; https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md
;
; MusicBot also provides one custom service `spotify:musicbot` to enable or disable Spotify API extraction.
; NOTICE: MusicBot might not support all services available to yt-dlp!


; I've set some example groups, these should be fine. Just add your roles or users and you should be good to go.

;;;;;;;;;;;;;;;;;;;
;
; AND HEY.
; Before you ask any dumb "how do I do this" questions in the help server, you should probably read that big comment I put time
; into writing for this exact purpose. It tells you how to use every option. Your question is probably answered there.
;
;;;;;;;;;;;;;;;;;;;



; This group is for owner. Any options not specified will fallback to permissive default value. Don't remove/rename this group.
; You cannot assign users or roles to this group. Those options are ignored.
; This permission group is used by the Owner only, and cannot be edited at all.
; It grants all access to MusicBot for the user specified in 'OwnerID' config option.
[Owner (auto)]
; MaxSongLength = 0
; MaxSongs = 0
; MaxPlaylistLength = 0
; AllowPlaylists = yes
; InstaSkip = yes
; Remove = yes
; SkipWhenAbsent = no
; BypassKaraokeMode = yes
; ToggleAutoPlaylists = yes
; SummonNoVoice = yes
; Extractors =
; SkipLooped = yes

; This is the fallback group for any users that don't get assigned to another group. Don't remove/rename this group.
; You cannot assign users or roles to this group. Those options are ignored.
[Default]
CommandWhitelist = play perms queue np skip search id help clean
; CommandBlacklist =
IgnoreNonVoice = play skip search
MaxSongLength = 1200
CommandWhitelist =
CommandBlacklist =
AdvancedCommandLists = no
IgnoreNonVoice =
GrantToRoles =
UserList =
MaxSongs = 0
MaxSearchItems = 10
AllowPlaylists = yes
; MaxPlaylistLength = 20
InstaSkip = no
Remove = no
SkipWhenAbsent = no
BypassKaraokeMode = no
SummonNoVoice = no
SkipLooped = no
Extractors = generic youtube spotify:musicbot Bandcamp soundcloud

; This group has full permissions.
[MusicMaster]
; GrantToRoles =
; UserList =
MaxSongLength = 0
MaxSongs = 0
MaxPlaylistLength = 0
MaxSearchItems = 20
MaxSearchItems = 10
AllowPlaylists = yes
InstaSkip = yes
SkipLooped = yes
Remove = yes
SkipWhenAbsent = no
BypassKaraokeMode = yes
SummonNoVoice = yes
SkipLooped = yes
Extractors =

; This group can't use the blacklist and listids commands, but otherwise has full permissions.
[DJ]
CommandBlacklist = blacklist listids
; GrantToRoles =
; UserList =
MaxSongLength = 0
MaxSongs = 0
MaxPlaylistLength = 0
MaxSearchItems = 20
AllowPlaylists = yes
InstaSkip = yes
Remove = yes
SkipWhenAbsent = no
BypassKaraokeMode = yes
SummonNoVoice = yes
SkipLooped = yes
Extractors = generic youtube youtube:tab youtube:search youtube:playlist soundcloud soundcloud:set spotify:musicbot Bandcamp Bandcamp:album

; This group can only use the listed commands, can only use play/skip when in the bot's voice channel,
; can't request songs longer than 3 and a half minutes, and can only request a maximum of 8 songs at a time.
[Limited]
CommandWhitelist = play queue np perms help skip
; CommandBlacklist =
IgnoreNonVoice = play skip
; GrantToRoles =
MaxSongLength = 210
; This is the default permission group. It cannot be deleted, or renamed.
; All users without explicit group assignment will be placed in this group.
; The options GrantToRoles and UserList are effectively ignored in this group.
[Default]
CommandWhitelist =
CommandBlacklist =
AdvancedCommandLists = no
IgnoreNonVoice =
GrantToRoles =
UserList =
MaxSongs = 8
MaxSongLength = 210
MaxPlaylistLength = 0
MaxSearchItems = 10
AllowPlaylists = yes
InstaSkip = no
SkipLooped = no
Remove = no
SkipWhenAbsent = yes
BypassKaraokeMode = no
SummonNoVoice = no
SkipLooped = no
Extractors = generic youtube youtube:playlist youtube:tab
Extractors = youtube, Bandcamp, spotify:musicbot, soundcloud, generic
Loading