Difference between revisions of "Broadcasting via Discord"

From Starchive Wiki
(changed music bot information to use new bot (rythm))
(Lots of re-writing and organising to create a step-by-step guide which matches training better)
Line 1: Line 1:
 
To allow shows to continue during the [https://en.wikipedia.org/wiki/2019–20_coronavirus_pandemic Coronavirus pandemic], a Discord server has been set up. The server allows shows to broadcast from home.  
 
To allow shows to continue during the [https://en.wikipedia.org/wiki/2019–20_coronavirus_pandemic Coronavirus pandemic], a Discord server has been set up. The server allows shows to broadcast from home.  
 +
 +
'''Only current STAR shows can access the remote broadcast system:''' you'll still need to apply as normal, and wait to hear if you've been accepted.
  
 
If you prefer, you can [https://www.youtube.com/watch?v=Pj_unlpNoeI watch our tutorial video on YouTube] that guides you through the process of getting and running your show. This wiki page is likely the definitive guide, though.
 
If you prefer, you can [https://www.youtube.com/watch?v=Pj_unlpNoeI watch our tutorial video on YouTube] that guides you through the process of getting and running your show. This wiki page is likely the definitive guide, though.
Line 7: Line 9:
 
* We've had to change our music bot so some of the commands have changed - don't worry, we'll go through everything during training and the <code>#broadcasting-guide</code> channel and this wiki have been updated with the commands for the new music bot.
 
* We've had to change our music bot so some of the commands have changed - don't worry, we'll go through everything during training and the <code>#broadcasting-guide</code> channel and this wiki have been updated with the commands for the new music bot.
  
== Getting Started ==
+
== The Basics ==
# [https://discord.gg/vfEH3dx Join the Discord server].
+
A Discord server is a group of channels, where each channel is like a chat room. Think of Microsoft Teams, but each team is a server.
# Verify yourself with our Discord system. Only current show hosts can have shows on our remote broadcasting system. In order to verify youself, use the command <code>!verify &lt;email address&gt;</code>, where <code>&lt;email address&gt;</code> (without angle brackets) is the email address you signed up with when you applied to be a show host. Normally, this is your University email address. Type the command in the <code>#registration</code> channel and the the bot will give you the role you need to host shows.
 
# Read the rest of this guide so you know how the system works.
 
  
== Server Channels ==
+
Channels can be for text chat, or voice chat. We use both - you can read information, talk to other people, and control the music by sending messages in text channels. To speak on air or hear what's going on, you connect to a voice channel.
A channel is like a chat room, and a server is a group of channels.
 
  
Our text chat channels are:
+
'''STAR listeners should not join the Discord server.''' Your listeners can listen on [https://standrewsradio.com standrewsradio.com] as usual.
* <code>#info</code>: guidance and help.
 
* <code>#just-chatting</code>: general chit chat.
 
* <code>#help-me</code>: for technical help during your show. Mention <code>@Tech Team</code> in your message!
 
* <code>#broadcasting-guide</code>: guidance for going live.
 
* <code>#control-room</code>: chatting with co-presenters during your show, and controlling the music bot.
 
  
Our voice channels are:
+
=== Starting the Semester ===
* <code>#the-studio</code>: audio in this channel will go live on air. This is where the music bot plays music, and where you and your co-presenters should talk to broadcast.
+
At the start of the semester, shows will receive an email about training. Follow the instructions in that email to '''book a practice slot'''.
  
Voice channels are for audio only, and chat channels are for text messages only. So, to control access to <code>#the-studio</code> and to control the music bot, send your command messages into <code>#control-room</code>. Any non-command messages in <code>#control-room</code> are ignored by our bots, so you can also use this text channel to talk to your co-presenters during your show.
+
'''Before your practice slot:'''
 +
# [https://discord.gg/vfEH3dx '''Join''' the Discord server].
 +
# '''Verify yourself''' with our system. Find our bot, Gorilla Joe (or Starbot Admin), in the list of server members. In a private message to Gorilla Joe, send the command <code>!verify &lt;email address&gt;</code>, where <code>&lt;email address&gt;</code> (without angle brackets) is the email address you put on your show application. Follow the instructions Gorilla Joe sends back.
 +
# '''Read the rest of this guide''' so you know how the system works.
  
== Going Live ==
+
=== Going Live ===
At the time of your show, you and your co-hosts will automatically be given access to the studio. You can't access any of the broadcast channels until your show time.
+
At the start of your show's slot, you'll be given access to the studio. You can't access our broadcast channels outwith your show time.
 +
# '''Join the text channel <code>#control-room</code>'''. During your show, you'll send commands here to control the music. You can also send messages to chat to your co-hosts - our bots will just ignore anything that doesn't look like a command.
 +
# '''Join the voice channel <code>#the-studio</code>'''. Now, you'll be able to hear everything going out on air. You can '''use the mute button to turn your mic on and off''' - for example, you should probably turn it off during songs. The mute button is usually in the bottom left of the screen, next to your username. When your mic is on, your voice will be broadcast on STAR.
 +
# In <code>#control-room</code>, send the command '''<code>_clear</code> to get rid of the automatically-scheduled music'''. Then, you can either '''wait until the currently-playing song finishes to start your show''', or '''cut it off immediately''' using <code>_skip</code>.
 +
# You can then '''unmute your mic to talk on air''', or '''play some music using <code>_play &lt;search term&gt;</code>''' (without angle brackets), where <code>search term</code> is a search term for a song you'd like to play - for example, <code>_play Never Gonna Give You Up</code>.
  
To get started on air:
+
At the '''end of your show''', you'll be removed from the studio automatically. You can leave early by disconnecting from <code>#the-studio</code> using the Disconnect button (phone with a cross icon).
# Connect to <code>#the-studio</code> voice channel.
 
# Open the <code>#control-room</code> text channel.
 
  
Commands to control the music bot should all be sent in <code>#control-room</code>. You can also message your co-hosts there.
+
== Get Help ==
 +
If you need help, message the <code>#help-me</code> channel in Discord and mention <code>@Tech Team</code> to send a notification to the tech team.
  
Everything in <code>#the-studio</code> is sent to broadcast, including your mic and music. You can use the mute button to turn off your microphone if you don't want your voice going to air (for example, during a song).
+
You can also email [mailto:[email protected]?subject=Discord%20Broadcasting%20Help [email protected]].
  
Every hour, Gorilla Joe will enter the studio and play some music if nobody is present. If there's already music playing when you came in, or you arrived a bit late to the studio, these commands might help you out:
+
== More detail ==
* <code>_clear</code>: This will remove every song from the music queue. When the currently playing song has finished, no more songs will be played, which is a good time for you to get on air!
+
If you'd like to get into the nitty-gritty, here's even more detail and commands you can use.
* <code>_nowplaying</code>: When you begin your show, you might want to let people know whatever song was just playing. If so, this command will show whatever song is currently playing.
 
 
 
At your show's end time, you will all be automatically removed from the studio.
 
  
 
=== Controlling Music ===
 
=== Controlling Music ===
Line 50: Line 47:
  
 
Some key commands are:
 
Some key commands are:
* <code>_play</code>: Plays the music player.
+
* <code>_play</code>: Play the music player if it's paused.
* <code>_play <YouTube link></code> (without angle brackets): Queues the specified YouTube link for playout.
+
* <code>_play <YouTube link></code> (without angle brackets): Queue the specified YouTube link for playout. If the player is stopped, the song will start playing immediately. If the player is paused, the song will be queued.
* <code>_play <search term></code> (without angle brackets): Searches YouTube for the specified term, then queues the first result.
+
* <code>_play <search term></code> (without angle brackets): Search YouTube for the specified term, then queue the first result. If the player is stopped, the song will start playing immediately. If the player is paused, the song will be queued.
 +
* <code>_skip</code>: Skip the current track in the queue and start playing what's next. If there's nothing queued, the player will stop.
 
* <code>_pause</code>: Pause or resume the music player.
 
* <code>_pause</code>: Pause or resume the music player.
* <code>_leave</code>: Stops the music player completely. This will also clear the queue and remove the music bot from the studio.
+
* <code>_leave</code>: Stops the music player completely and clears the queue.
* <code>_skip</code>: Skip the current track in the queue and start playing what's next.
+
* <code>_queue</code>: Show the music that's currently queued.
 
* <code>_remove</code>: Remove a song from the queue.
 
* <code>_remove</code>: Remove a song from the queue.
 
* <code>_shuffle</code>: Shuffle the queue.
 
* <code>_shuffle</code>: Shuffle the queue.
* <code>_nowplaying</code>: Shows what's currently playing.
+
* <code>_nowplaying</code>: Show what's currently playing.
* <code>_queue</code>: Shows the music that's currently queued.
 
  
 
You can see all music commands by heading to [https://rythmbot.co/features#list Rythm's help page] or by sending <code>_help</code> to <code>#control-room</code>.
 
You can see all music commands by heading to [https://rythmbot.co/features#list Rythm's help page] or by sending <code>_help</code> to <code>#control-room</code>.
  
=== Other Commands ===
+
=== Listener Counts ===
* <code>!listeners</code>: This will let you know how many people are currently tuned in to STAR.
+
<code>!listeners</code> will let you know how many people are currently tuned in to STAR.
* <code>!invite</code> and <code>!uninvite</code>: If you have a guest on your show, you can ask them to join the Discord server using the link above, then you can use the command <code>!invite @guest-username</code> to give them access to the studio. Your guests don't need to go through the <code>!verify</code> process. To remove someone, use <code>!uninvite @guest-username</code>. Be careful - if you accidentally uninvite yourself and get locked out of the studio, there might not someone available to let you back in.
+
 
 +
=== Guests and New Co-Hosts ===
 +
* <code>!invite</code> and <code>!uninvite</code>: If you have a guest on your show, you can ask them to join the Discord server using the link above, then you can use the command <code>!invite @guest-username</code> during your show to give them access to the studio. Your guests don't need to go through the <code>!verify</code> process. To remove someone, use <code>!uninvite @guest-username</code>. Be careful - if you accidentally uninvite yourself and get locked out of the studio, there might not someone available to let you back in.
 
* <code>!addhost</code> and <code>!removehost</code>: If you have a new co-host, you can use <code>!addhost @host-username</code> to automatically give them access to the studio during your show each week. To stop granting someone access, use <code>!removehost @host-username</code>. If you've got a guest who only needs access once, use <code>!invite</code> (above) instead. Again, be careful not to remove yourself by accident and get locked out of the studio!
 
* <code>!addhost</code> and <code>!removehost</code>: If you have a new co-host, you can use <code>!addhost @host-username</code> to automatically give them access to the studio during your show each week. To stop granting someone access, use <code>!removehost @host-username</code>. If you've got a guest who only needs access once, use <code>!invite</code> (above) instead. Again, be careful not to remove yourself by accident and get locked out of the studio!
  
== Get Help ==
+
=== Server Channels ===
If you need help, message the <code>#help-me</code> channel in Discord and mention <code>@Tech Team</code> to send a notification to the tech team.
+
Our text chat channels are:
 +
* <code>#info</code>: guidance and help.
 +
* <code>#just-chatting</code>: general chit-chat.
 +
* <code>#help-me</code>: for technical help during your show. Mention <code>@Tech Team</code> in your message!
 +
* <code>#broadcasting-guide</code>: guidance for going live.
 +
* <code>#control-room</code>: chatting with co-presenters during your show, and controlling the music bot.
  
You can also email [mailto:[email protected]?subject=Discord%20Broadcasting%20Help tech@standrewsradio.com].
+
Our voice channels are:
 +
* <code>#the-studio</code>: audio in this channel will go live on air. This is where the music bot plays music, and where you and your co-presenters should talk to broadcast.
  
 
== Technical Implementation ==
 
== Technical Implementation ==
Line 81: Line 86:
 
* [https://rythmbot.co/ Rythm], for music.
 
* [https://rythmbot.co/ Rythm], for music.
 
* [https://carl.gg Carl], for announcements, logging, etc.
 
* [https://carl.gg Carl], for announcements, logging, etc.
 +
 +
=== Autoplay ===
 +
Every hour, Gorilla Joe will enter the studio and play some music if nobody is present. Autoplay can be forced to start using <code>!autoplay</code>.
 +
 +
=== More commands ===
 +
Starbot Admin provides more commands you can use. Send <code>#help</code> to any channel to see the list. It's probably best to do that in a testing channel.

Revision as of 12:47, 23 September 2020

To allow shows to continue during the Coronavirus pandemic, a Discord server has been set up. The server allows shows to broadcast from home.

Only current STAR shows can access the remote broadcast system: you'll still need to apply as normal, and wait to hear if you've been accepted.

If you prefer, you can watch our tutorial video on YouTube that guides you through the process of getting and running your show. This wiki page is likely the definitive guide, though.

Notes about the video:

  • You don't need to ask in #registration for someone to register your show - that'll be done automatically after your practice slot. You do still need to verify yourself with !verify, though.
  • We've had to change our music bot so some of the commands have changed - don't worry, we'll go through everything during training and the #broadcasting-guide channel and this wiki have been updated with the commands for the new music bot.

The Basics

A Discord server is a group of channels, where each channel is like a chat room. Think of Microsoft Teams, but each team is a server.

Channels can be for text chat, or voice chat. We use both - you can read information, talk to other people, and control the music by sending messages in text channels. To speak on air or hear what's going on, you connect to a voice channel.

STAR listeners should not join the Discord server. Your listeners can listen on standrewsradio.com as usual.

Starting the Semester

At the start of the semester, shows will receive an email about training. Follow the instructions in that email to book a practice slot.

Before your practice slot:

  1. Join the Discord server.
  2. Verify yourself with our system. Find our bot, Gorilla Joe (or Starbot Admin), in the list of server members. In a private message to Gorilla Joe, send the command !verify <email address>, where <email address> (without angle brackets) is the email address you put on your show application. Follow the instructions Gorilla Joe sends back.
  3. Read the rest of this guide so you know how the system works.

Going Live

At the start of your show's slot, you'll be given access to the studio. You can't access our broadcast channels outwith your show time.

  1. Join the text channel #control-room. During your show, you'll send commands here to control the music. You can also send messages to chat to your co-hosts - our bots will just ignore anything that doesn't look like a command.
  2. Join the voice channel #the-studio. Now, you'll be able to hear everything going out on air. You can use the mute button to turn your mic on and off - for example, you should probably turn it off during songs. The mute button is usually in the bottom left of the screen, next to your username. When your mic is on, your voice will be broadcast on STAR.
  3. In #control-room, send the command _clear to get rid of the automatically-scheduled music. Then, you can either wait until the currently-playing song finishes to start your show, or cut it off immediately using _skip.
  4. You can then unmute your mic to talk on air, or play some music using _play <search term> (without angle brackets), where search term is a search term for a song you'd like to play - for example, _play Never Gonna Give You Up.

At the end of your show, you'll be removed from the studio automatically. You can leave early by disconnecting from #the-studio using the Disconnect button (phone with a cross icon).

Get Help

If you need help, message the #help-me channel in Discord and mention @Tech Team to send a notification to the tech team.

You can also email [email protected].

More detail

If you'd like to get into the nitty-gritty, here's even more detail and commands you can use.

Controlling Music

The music is controlled by sending commands to the #control-room channel. Different commands take different parameters (bits of extra info) after them - the music bot will tell you what to add if you don't provide it first time.

All music commands start with _.

Some key commands are:

  • _play: Play the music player if it's paused.
  • _play <YouTube link> (without angle brackets): Queue the specified YouTube link for playout. If the player is stopped, the song will start playing immediately. If the player is paused, the song will be queued.
  • _play <search term> (without angle brackets): Search YouTube for the specified term, then queue the first result. If the player is stopped, the song will start playing immediately. If the player is paused, the song will be queued.
  • _skip: Skip the current track in the queue and start playing what's next. If there's nothing queued, the player will stop.
  • _pause: Pause or resume the music player.
  • _leave: Stops the music player completely and clears the queue.
  • _queue: Show the music that's currently queued.
  • _remove: Remove a song from the queue.
  • _shuffle: Shuffle the queue.
  • _nowplaying: Show what's currently playing.

You can see all music commands by heading to Rythm's help page or by sending _help to #control-room.

Listener Counts

!listeners will let you know how many people are currently tuned in to STAR.

Guests and New Co-Hosts

  • !invite and !uninvite: If you have a guest on your show, you can ask them to join the Discord server using the link above, then you can use the command !invite @guest-username during your show to give them access to the studio. Your guests don't need to go through the !verify process. To remove someone, use !uninvite @guest-username. Be careful - if you accidentally uninvite yourself and get locked out of the studio, there might not someone available to let you back in.
  • !addhost and !removehost: If you have a new co-host, you can use !addhost @host-username to automatically give them access to the studio during your show each week. To stop granting someone access, use !removehost @host-username. If you've got a guest who only needs access once, use !invite (above) instead. Again, be careful not to remove yourself by accident and get locked out of the studio!

Server Channels

Our text chat channels are:

  • #info: guidance and help.
  • #just-chatting: general chit-chat.
  • #help-me: for technical help during your show. Mention @Tech Team in your message!
  • #broadcasting-guide: guidance for going live.
  • #control-room: chatting with co-presenters during your show, and controlling the music bot.

Our voice channels are:

  • #the-studio: audio in this channel will go live on air. This is where the music bot plays music, and where you and your co-presenters should talk to broadcast.

Technical Implementation

This section is intended for STAR Tech Team's reference.

The Discord server is powered by:

  • starbot-admin, a custom-developed bot for managing the station in Discord.
  • starbot-forwarder, a custom-developed bot to send a Discord voice channel to our streaming server.
  • Rythm, for music.
  • Carl, for announcements, logging, etc.

Autoplay

Every hour, Gorilla Joe will enter the studio and play some music if nobody is present. Autoplay can be forced to start using !autoplay.

More commands

Starbot Admin provides more commands you can use. Send #help to any channel to see the list. It's probably best to do that in a testing channel.