feat: add voices/speak commands and distinguish members/subscriber only commands from the others
This commit is contained in:
+35
-11
@@ -3,123 +3,147 @@ const COMMANDS = [
|
|||||||
name: "Show Support",
|
name: "Show Support",
|
||||||
description: "Feel free to buy me some coffee to support the stream.",
|
description: "Feel free to buy me some coffee to support the stream.",
|
||||||
aliases: ["!coffee", "!donation", "!dono"],
|
aliases: ["!coffee", "!donation", "!dono"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Topic",
|
name: "Topic",
|
||||||
description: "Find out what is happening on the stream.",
|
description: "Find out what is happening on the stream.",
|
||||||
aliases: ["!wtf", "!whatbrodoing"],
|
aliases: ["!wtf", "!whatbrodoing"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Voices",
|
||||||
|
description: "Find out what voices are available for the <code>!speak</code> command.",
|
||||||
|
aliases: ["!voices"],
|
||||||
|
subOrMemberOnly: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Speak",
|
||||||
|
description: "Trigger a text-to-speech message with voice of your choice. i.e. <code>!speak <voice_name> <msg></code>",
|
||||||
|
aliases: ["!speak", "!say"],
|
||||||
|
subOrMemberOnly: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Wrong Screen",
|
name: "Wrong Screen",
|
||||||
description: "Sometimes I forget to switch to the correct scene. Use this command to let me know I've done this.",
|
description: "Sometimes I forget to switch to the correct scene. Use this command to let me know I've done this.",
|
||||||
aliases: ["!screen", "!imblind", "!iamblind", "!talktotheface"],
|
aliases: ["!screen", "!imblind", "!iamblind", "!talktotheface"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Lurk",
|
name: "Lurk",
|
||||||
description:
|
description:
|
||||||
"Let chat know you are here, but lurking. We support our fellow lurkers.",
|
"Let chat know you are here, but lurking. We support our fellow lurkers.",
|
||||||
aliases: ["!lurk"],
|
aliases: ["!lurk"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Schedule",
|
name: "Schedule",
|
||||||
description: "Get my stream schedule.",
|
description: "Get my stream schedule.",
|
||||||
aliases: ["!schedule"],
|
aliases: ["!schedule"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Lofi Generator",
|
name: "Lofi Generator",
|
||||||
description: "Get the link to the website that I use for my stream music.",
|
description: "Get the link to the website that I use for my stream music.",
|
||||||
aliases: ["!lofi", "!music"],
|
aliases: ["!lofi", "!music"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "ZoomIt",
|
name: "ZoomIt",
|
||||||
description: "Get the link to the tool I use to draw on my screen.",
|
description: "Get the link to the tool I use to draw on my screen.",
|
||||||
aliases: ["!zoomit"],
|
aliases: ["!zoomit"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Neovim",
|
name: "Neovim",
|
||||||
description: "Get the link to my Neovim configs.",
|
description: "Get the link to my Neovim configs.",
|
||||||
aliases: ["!nvim", "!neovim"],
|
aliases: ["!nvim", "!neovim"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "My Font",
|
name: "My Font",
|
||||||
description: "Get the link to the Nerd Font I use.",
|
description: "Get the link to the Nerd Font I use.",
|
||||||
aliases: ["!font", "!nerdfont"],
|
aliases: ["!font", "!nerdfont"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "PowerShell",
|
name: "PowerShell",
|
||||||
description: "Get the link to my PowerShell profile.",
|
description: "Get the link to my PowerShell profile.",
|
||||||
aliases: ["!pwsh", "!powershell"],
|
aliases: ["!pwsh", "!powershell"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Oh My Posh",
|
name: "Oh My Posh",
|
||||||
description: "Get the link to my Oh My Posh configs.",
|
description: "Get the link to my Oh My Posh configs.",
|
||||||
aliases: ["!omp", "!ohmyposh"],
|
aliases: ["!omp", "!ohmyposh"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Member",
|
name: "Member",
|
||||||
description: "Get a link to become a member of the YouTube channel.",
|
description: "Get a link to become a member of the YouTube channel.",
|
||||||
aliases: ["!member"],
|
aliases: ["!member"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Links",
|
name: "Links",
|
||||||
description: "Get a link to all my links.",
|
description: "Get a link to all my links.",
|
||||||
aliases: ["!links"],
|
aliases: ["!links"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Blog",
|
name: "Blog",
|
||||||
description: "Get the link to my blog.",
|
description: "Get the link to my blog.",
|
||||||
aliases: ["!blog"],
|
aliases: ["!blog"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Bluesky",
|
name: "Bluesky",
|
||||||
description: "Get the link to my Bluesky profile.",
|
description: "Get the link to my Bluesky profile.",
|
||||||
aliases: ["!bsky", "!bluesky"],
|
aliases: ["!bsky", "!bluesky"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Bottom",
|
name: "Bottom",
|
||||||
description: "Get the link to the terminal monitor I use.",
|
description: "Get the link to the terminal monitor I use.",
|
||||||
aliases: ["!btm", "!bottom"],
|
aliases: ["!btm", "!bottom"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Discord",
|
name: "Discord",
|
||||||
description: "Want to chat off stream? Get the invite link to my discord.",
|
description: "Want to chat off stream? Get the invite link to my discord.",
|
||||||
aliases: ["!discord"],
|
aliases: ["!discord"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "GitHub",
|
name: "GitHub",
|
||||||
description: "Get the link to my GitHub profile.",
|
description: "Get the link to my GitHub profile.",
|
||||||
aliases: ["!gh", "!github"],
|
aliases: ["!gh", "!github"],
|
||||||
},
|
subOrMemberOnly: false,
|
||||||
{
|
|
||||||
name: "Tangled",
|
|
||||||
description: "Get the link to my Tangled profile.",
|
|
||||||
aliases: ["!tangled"],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "LinkedIn",
|
name: "LinkedIn",
|
||||||
description: "Get the link to my LinkedIn profile.",
|
description: "Get the link to my LinkedIn profile.",
|
||||||
aliases: ["!li", "!linkedin"],
|
aliases: ["!li", "!linkedin"],
|
||||||
},
|
subOrMemberOnly: false,
|
||||||
{
|
|
||||||
name: "Telegram",
|
|
||||||
description: "Get the invite link to my Telegram channel.",
|
|
||||||
aliases: ["!tg", "!telegram"],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Twitch",
|
name: "Twitch",
|
||||||
description: "Get the link to my Twitch channel.",
|
description: "Get the link to my Twitch channel.",
|
||||||
aliases: ["!ttv", "!twitch"],
|
aliases: ["!ttv", "!twitch"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "YouTube",
|
name: "YouTube",
|
||||||
description: "Get the link to my YouTube channel.",
|
description: "Get the link to my YouTube channel.",
|
||||||
aliases: ["!yt", "!youtube"],
|
aliases: ["!yt", "!youtube"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Commands",
|
name: "Commands",
|
||||||
description:
|
description:
|
||||||
"Get the link to the list of commands available in chat during a stream.",
|
"Get the link to the list of commands available in chat during a stream.",
|
||||||
aliases: ["!help", "!commands"],
|
aliases: ["!help", "!commands"],
|
||||||
|
subOrMemberOnly: false,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -142,7 +166,7 @@ function handleContentLoaded() {
|
|||||||
function CommandListItem(command) {
|
function CommandListItem(command) {
|
||||||
const listItemElement = document.createElement("li");
|
const listItemElement = document.createElement("li");
|
||||||
listItemElement.innerHTML = /*html*/ `
|
listItemElement.innerHTML = /*html*/ `
|
||||||
<div class="command-card">
|
<div class="command-card${command.subOrMemberOnly ? ' sub-or-member-only' : ''}">
|
||||||
<div class="left">
|
<div class="left">
|
||||||
<div class="name">${command.name}</div>
|
<div class="name">${command.name}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+26
-6
@@ -55,16 +55,16 @@ table {
|
|||||||
|
|
||||||
:root {
|
:root {
|
||||||
--bg-color: #181818;
|
--bg-color: #181818;
|
||||||
--text-color: #E4E4E4;
|
--text-color: #e4e4e4;
|
||||||
--accent-color: #b39cd0;
|
--accent-color: #b39cd0;
|
||||||
|
|
||||||
font-family: 'CaskaydiaCove NFM', monospace;
|
font-family: "CaskaydiaCove NFM", monospace;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
html,
|
html,
|
||||||
body {
|
body {
|
||||||
height: 100%
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
@@ -105,6 +105,26 @@ main {
|
|||||||
border-radius: 1rem;
|
border-radius: 1rem;
|
||||||
background-color: #323232;
|
background-color: #323232;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sub-or-member-only::after {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
padding: 0.5rem;
|
||||||
|
content: "Members/Subscribers";
|
||||||
|
background: #ff0000;
|
||||||
|
background: linear-gradient(90deg,
|
||||||
|
rgba(255, 0, 0, 0.75) 0%,
|
||||||
|
rgba(100, 65, 165, 0.75) 65%);
|
||||||
|
border-bottom-left-radius: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 600px) {
|
||||||
|
.sub-or-member-only::after {
|
||||||
|
content: "Mems/Subs";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.command-card .left {
|
.command-card .left {
|
||||||
@@ -113,7 +133,6 @@ main {
|
|||||||
gap: 1rem;
|
gap: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.command-card .right {
|
.command-card .right {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@@ -151,13 +170,14 @@ main {
|
|||||||
.copy-button .fa-copy {
|
.copy-button .fa-copy {
|
||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
.copy-button .fa-check {
|
.copy-button .fa-check {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.copy-button.copied {
|
.copy-button.copied {
|
||||||
color: #89D185;
|
color: #89d185;
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.copy-button.copied .fa-copy {
|
.copy-button.copied .fa-copy {
|
||||||
|
|||||||
Reference in New Issue
Block a user