Difference between revisions of "Broadcasting via Discord"

From Starchive Wiki
 
(30 intermediate revisions by 2 users not shown)
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.  
  
== Getting Started ==
+
'''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.
# [https://discord.gg/vfEH3dx Join the Discord server].
 
# Pick an available time slot from the [https://doodle.com/poll/bw3g6iygiahb3dnn#calendar Doodle poll]. Make sure you use your full Discord tag (for example, @Star#1234) as the name when filling out the poll so we know who you are. You can see this at the bottom left of the Discord window on a computer, or in the Profile tab on the mobile app.
 
# In the <code>#registration</code> channel, tell us what you would like your show to be called and that you've picked a time on the Doodle poll.
 
# Read the rest of this guide so you know how the system works.
 
  
== Server Channels ==
+
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.
A channel is like a chat room, and a server is a group of channels.
 
  
Our text chat channels are:
+
'''Notes about the video:'''
* <code>#info</code>: guidance and help.
+
* You don't need to ask in <code>#registration</code> for someone to register your show - that'll be done automatically after your practice slot. You do still need to verify yourself with <code>!verify</code>, though.
* <code>#just-chatting</code>: general chit chat.
+
* 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.
* <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.
+
== The Basics ==
* <code>#control-room</code>: chatting with co-presenters during your show, and controlling the music bot.
+
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 [https://standrewsradio.com 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:'''
 +
# [https://sta.radio/discord '''Join''' the Discord server].
 +
# Lead host only: '''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.
  
Our voice channels are:
+
=== Going Live ===
* <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 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'''.
 +
# You can then '''unmute your mic to talk on air''', or '''play some music using <code>_play &lt;something&gt;</code>''' (without angle brackets), where <code>something</code> is a search term for a song you'd like to play or a YouTube link - for example, <code>_play Hello Lionel Richie</code> or <code>_play https://www.youtube.com/watch?v=dQw4w9WgXcQ</code>.
  
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.
+
If you need to end a song mid-way through, use <code>_forceskip</code>.
  
== Going Live ==
+
At the '''end of your show''' disconnect from <code>#the-studio</code> using the Disconnect button (phone with a cross icon), next to the phrase "Voice Connected".
At the time of your show, one of your presenters (probably whoever posted in <code>#registration</code>) will be given access to the studio. You can't access any of the broadcast channels until your show time.
 
  
Once you're in, send <code>!invite @co-presenter-username</code> into the control room chat to give your co-presenters access. To remove someone, use <code>!uninvite @co-presenter-username</code>. Be careful! If you kick yourself out and get locked out of the studio, there might not always be someone available to let you back in immediately.
+
== 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.
  
Commands to control the music bot and invite your co-presenters to the studio should all be sent in <code>#control-room</code>. Make sure you're connected to <code>#the-studio</code> voice channel. You can then listen to what's happening on STAR by "undeafening" yourself, and turn your mic on or off with the mute button.
+
You can also email [mailto:tech@standrewsradio.com?subject=Discord%20Broadcasting%20Help tech@standrewsradio.com].
  
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>_remove all</code>: This will remove every song that is currently playing from the 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 and will also give you a link to the source of the song if you fancy sharing it.
 
  
At your show's end time, you will all be automatically removed from the studio.
+
'''This part is not essential reading''', but you might find it useful. Everything you need to know to run your show is written above.
  
 
=== Controlling Music ===
 
=== Controlling Music ===
Line 41: Line 51:
  
 
Some key commands are:
 
Some key commands are:
* <code>_play</code>: Plays music in a voice channel
+
* <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>_pause</code>: Pause or resume the music player.
+
* <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>_stop</code>: Stop and clear the music player.
+
* <code>_forceskip</code>: Skip the current track in the queue and start playing what's next. If there's nothing queued, the player will stop.
* <code>_skip</code>: Skip the current music track.
+
* <code>_pause</code>: Pause the music player.
 +
* <code>_resume</code>: Resume the music player.
 +
* <code>_leave</code>: Stops the music player completely and clears the queue.
 +
* <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>_move</code>: Move the bot to another channel.
+
* <code>_shuffle</code>: Shuffle the queue.
* <code>_shuffle</code>: Shuffle the music queue.
+
* <code>_nowplaying</code>: Show what's currently playing.
* <code>_nowplaying</code>: Shows 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>.
* <code>_volume</code>: Set the volume of the music player.
+
 
* <code>_jump</code>: Set the time marker of the music playback.
+
=== Listener Counts ===
* <code>_youtube</code>: Search and see YouTube results.
+
<code>!listeners</code> will let you know how many people are currently tuned in to STAR.
* <code>_soundcloud</code>: Search and see SoundCloud results.
+
 
 +
=== Guests ===
 +
If you have a guest on your show, ask them to join the Discord server using the link [https://sta.radio/discord https://sta.radio/discord]. Your guests don't need to go through the <code>!verify</code> process - just ask them to let you know their Discord username.
 +
 
 +
During your show, you can use the command <code>!invite @guest-username</code> in <code>#control-room</code> to give them access to the studio.
 +
 
 +
To remove someone from the studio, 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.
 +
 
 +
Listeners shouldn't be invited to the studio. They can listen on [https://standrewsradio.com standrewsradio.com] as normal.
 +
 
 +
=== New Co-Hosts ===
 +
If you have a new co-host on your show, ask them to join the Discord server using the link [https://sta.radio/discord https://sta.radio/discord].  
 +
 
 +
You can then use <code>!addhost <show day> <show time> @host-username</code> to automatically give them access to the studio during your show each week - for example, <code>!addhost Friday 5PM @Gorilla Joe</code>. You can send this command into <code>#registration</code> at any time.
 +
 
 +
To stop granting someone access, use <code>!removehost <show day> <show time> @host-username</code>.
 +
 
 +
If you've got guests (who only need access once, or only while you're there), invite them as [[#Guests]] instead.
 +
 
 +
Again, be careful not to remove yourself by accident and get locked out of the studio!
 +
 
 +
=== Server Channels ===
 +
For archival purposes, 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 see all music commands by sending <code>_help</code> to <code>#control-room</code>, but be aware the list it sends back doesn’t include the leading underscore before each command.
+
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 63: Line 106:
 
* [https://github.com/StAndrewsRadio/starbot-admin starbot-admin], a custom-developed bot for managing the station in Discord.
 
* [https://github.com/StAndrewsRadio/starbot-admin starbot-admin], a custom-developed bot for managing the station in Discord.
 
* [https://github.com/StAndrewsRadio/starbot-forwarder starbot-forwarder], a custom-developed bot to send a Discord voice channel to our streaming server.
 
* [https://github.com/StAndrewsRadio/starbot-forwarder starbot-forwarder], a custom-developed bot to send a Discord voice channel to our streaming server.
* [https://octave.gg Octave], 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.

Latest revision as of 15:20, 12 February 2021

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. Lead host only: 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.
  4. You can then unmute your mic to talk on air, or play some music using _play <something> (without angle brackets), where something is a search term for a song you'd like to play or a YouTube link - for example, _play Hello Lionel Richie or _play https://www.youtube.com/watch?v=dQw4w9WgXcQ.

If you need to end a song mid-way through, use _forceskip.

At the end of your show disconnect from #the-studio using the Disconnect button (phone with a cross icon), next to the phrase "Voice Connected".

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.

This part is not essential reading, but you might find it useful. Everything you need to know to run your show is written above.

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 <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.
  • _forceskip: Skip the current track in the queue and start playing what's next. If there's nothing queued, the player will stop.
  • _pause: Pause the music player.
  • _resume: 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

If you have a guest on your show, ask them to join the Discord server using the link https://sta.radio/discord. Your guests don't need to go through the !verify process - just ask them to let you know their Discord username.

During your show, you can use the command !invite @guest-username in #control-room to give them access to the studio.

To remove someone from the studio, 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.

Listeners shouldn't be invited to the studio. They can listen on standrewsradio.com as normal.

New Co-Hosts

If you have a new co-host on your show, ask them to join the Discord server using the link https://sta.radio/discord.

You can then use !addhost <show day> <show time> @host-username to automatically give them access to the studio during your show each week - for example, !addhost Friday 5PM @Gorilla Joe. You can send this command into #registration at any time.

To stop granting someone access, use !removehost <show day> <show time> @host-username.

If you've got guests (who only need access once, or only while you're there), invite them as #Guests instead.

Again, be careful not to remove yourself by accident and get locked out of the studio!

Server Channels

For archival purposes, 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.