User Interface Walkthrough - HazilTheNut/walnutbot GitHub Wiki

Back to Main Page

User Interface Walkthrough

Once Walnutbot is correctly configured, its full UI will show, containing a series of tabbed panes. Each controls one major portion of the bot's functionality, whose functionality is explained in the sections below. Commands described have the command_char removed from the beginning of the string and leave out their arguments.

Settings Pane

An image of the Settings pane

Element # Function Associated Command
1 The bot is not able to acquire the list of available channels when the program starts up, so the user must instead click this button to fetch the list of channels the bot can connect to. connect list
2 Connects the bot to the channel chosen in the drop-down box to its left. connect
3 Disconnects the bot from whichever channel it was currently connected to. disconnect
4 Volume sliders to control the Main, Soundboard, and Jukebox volume levels. vol
5 Modifies the setting discordAllowLocalAccess, which controls whether non-Admin Discord users may use file paths of the computer running the bot.
6 List of checkboxes corresponding to every command runnable by Discord users. A checked box corresponds to a 3 value for that command's permission setting, and an unchecked box for any other configuration (unchecking the box through the UI sets it to a 2).

Soundboard Pane

An image of the Soundboard pane

Element # Function Associated Command
1 Opens a dialog to add a sound to the Soundboard. sb add
2 Sorts the list of sounds in the Soundboard to make finding a particular sound easier on future use. sb sort
3 Forces the Soundboard to stop playing sb stop
4 An indicator of whether the Soundboard is active or not.
5 Changes how the Soundboard is displayed, whether as a list or in a grid.
6 Plays the Soundboard sound. sb
7 Opens a dialog to modify or remove the corresponding sound in the Soundboard. sb modify and sb remove
8 Text field for entering in a URL to play through the Soundboard.
9 Plays the sound in the text field (#8). sb url
10 Opens a file open dialog to auto-paste into the text field (#8).

Jukebox Pane

Note: in the image below, file paths have been obscured, and do not appear as they do in the image when running Walnutbot.

An image of the Jukebox pane

Element # Function Associated Command
1 Opens a file open dialog to select the Default List. jb dfl load
2 Opens a file save dialog to create a new playlist file and sets it as the Default List. jb dfl new
3 Sets the Default List to an empty one. jb dfl disable
4 Displays a floating menu that quickly loads a playlist found in the playlists folder. jb dfl load
5 Pulls a playlist from the internet and sets it as the Default List. While you are able to modify this list after it is added, the list will not be saved to disk and is purely temporary. jb dfl load
6 Opens a dialog capable of importing songs into the current Default List. jb dfl add
7 Queues up the corresponding song. jb
8 Opens a dialog to modify or remove the corresponding song in the Default List jb dfl modify and jb dfl remove
9 List displaying all of the songs in the current Default List jb dfl list
10 A panel slider separating the Default List from the Queue, which is movable.
11 An indicator of what song is currently playing in the Jukebox.
12 Skips the current song and starts the next one. jb skip
13 Pauses the Jukebox player. jb pause
14 Starts or unpauses the Jukebox player. jb play
15 Empties the Jukebox Queue. jb clearqueue
16 Shuffles the Jukebox Queue. jb shuffle
17 Requests a song or playlist to the Jukebox Queue. jb
18 Dictates whether the Jukebox should repeatedly play the song it is currently playing or not. jb loop
19 Indicator describing the song progress and duration of the currently playing song.
20 List displaying all of the songs in the Jukebox Queue. jb list
21 Postpones the corresponding song in the Queue, putting it at the end. jb postpone
22 Removes the corresponding song in the Queue. jb deque

Keybindings Pane

Note: this panel does not appear if enable_global_keybinds is set to false in config.ini.

An image of the Keybinds pane

Element # Function Associated Command
1 Configures settings for polling MIDI input, including choosing which MIDI device to read from and setting a default device to attempt connection to.
2 Indicator describing whether the current list of keybindings is saved to disk. In avoidance of excessive writes to disk, there is a short buffering delay after editing the keybindings before writing to disk.
3 Click to add a new keybinding, whose input value is whichever keyboard or MIDI input occurs next.
4 Removes a particular keybinding from the list.
5 Reassigns the keybinding to whichever keyboard or MIDI input occurs next.
6 Text field containing the command that will be ran whenever the bot detects the associated keybinding.

Log Pane

An image of the Log pane

Element # Function Associated Command
1 Displays the internal goings-on of Walnutbot, with nearly every event being timestamped for easier debugging, troubleshooting, and general administration.
2 Text field that runs its contents as a command when you press ENTER