►
Description
This episode shows how we made the Shania Discord bot work AND we learn about scripts in a gitpod.yml file!! -- Watch live at https://www.twitch.tv/metzinaround
A
A
A
A
A
A
B
A
A
A
Nailed
it
so,
hopefully
you
all
are
feeling
the
The
Vibes,
but
yeah
I,
don't
even
know
what
I'm
live
on
am
I
live
on,
making
a
Discord
bot,
let's
find
out.
Does
he
know
things.
C
A
A
And
last
week,
I
was
working
on
this
Discord
bot
and
I
actually
got
it.
I
was
able
to
make
a
merge
request
and
she's
actually
working
now,
which
is
pretty
cool,
so
I
added
her
to
I
have
like
a
little
personal
Discord
that
Taco
Raider
made
for
me
one
time
she
Taco
writer
and
I,
just
added
my
bot
there
to
test
it
and
if
everything's
going
according
to
plan,
it's
live
and
it's
still
there
because
it's
hosted
too
yeah.
A
My
Discord
bot
is
now
hosted
for
a
dollar
a
month,
which
is
great,
so
I'm
here
just
messing
around
you
can
see
all
of
this.
Where
you
know
it's
been
happening.
We
have
two
functions
on
Chennai
about
that.
Don't
impress
me
much
and
you
call
that
with
press
or
you
can
be
like
I'm
not
impressed,
and
it
catches
all
of
that
if
it
finds
dollar
sign
and
press
anywhere,
which
also
means
that-
and
this
is
funny-
Impressions
also
works,
but
it
doesn't
have
to
have
that
dollar
sign.
A
So
that's
a
little
like
safe
keeper,
it'd
be
way
more
fun
to
deploy
her
into
an
environment
where
it's
not
looking
for
the
dollar
sign,
and
it's
just
impress
anywhere
is
like
that's
her.
A
That
would
be
amazing
because
then
anytime,
someone
says
that
she'd
pop
up
with
that
don't
impress
me
much
but
she'd,
be
very
a
very
busy
lady,
but
we
also
have
just
plain
old
Shania,
and
that
can
happen,
which
is
great,
and
you
might
have
just
seen
that
I
have
a
slash
command
for
her
too,
but
that's
actually
not
working
right
now.
I
got
some
advice
that
a
slash
command
is
probably
the
better
way
to
go,
but
it's
not
working
right
now.
It
won't
actually
do
anything.
A
You'll
see
it
sends
a
command
that
fails.
It
lets
me
know,
but
that's
because
I
have
two
files:
I
have
one
that's
working
with
regular,
just
like
checking
the
messages
for
that
and
the
other
one
that
is
working
under
slash
commands.
A
So
let's
talk
about
those
two
things
and
I'll
open
it
up
in
the
web.
Ide-
and
this
is
my
project-
Discord
box,
Shania
I've
got
the
configuration
for
the
bot,
which
is
just
getting
a
secret
token
from
the
environment,
whatever
the
environmental
variables
are
located,
which
is
something
I
actually
am
having
trouble
with
right
now.
It's
just
I
just
have
it
as
a
DOT
EnV
file
in
my
where
I'm
hosting
it
so
I'm
trying
to
find
well
that
doesn't
feel
secure
to
me.
A
But
I
could
be
wrong
because
you
do
need.
You
need
a
password
to
enter
my
dashboard
and
everything.
But
then
it's
just
straight
up
a
DOT
EnV
file
that
you
can,
like
literally
click
and
look
at.
A
A
At
the
same
time,
this
just
works
and
then
bot,
config,
I,
I
shortened
it
to
conf,
so
the
intense
in
a
Discord
bot
intents
are
sort
of
like
what
what
you're
going
to
be
using
it
for
and
how
you're
going
to
be
using
it,
and
it
you
have
to
like
on
the
bot
when
you
make
it
and
I
really
can't
believe
how
easy
this
process
was.
When
you
make
your
Bot,
you
have
to
sort
of
say
this
is
what
it
needs
to
be
able
to
do.
A
It
needs
to
be
able
to
read
messages
or
it
needs
to
be
able
to
send
DMS
or
it
needs
to
be
able
to
do
whatever
you
just
click
a
bunch
of
boxes
in
the
oauth
gonna
be
Johnny,
too
click
a
bunch
of
boxes
and
you
just
sort
of
get
a
URL.
A
You
put
that
URL
into
your
browser.
It
opens
up
your
Discord
because
you're
you're
logged
in
and
it's
like,
hey,
you
know,
do
you
want
to
authorize
this?
You
know
bought
to
do
this
stuff
and
you
pick
a
server,
and
you
say
yes
and
it
adds
it
to
it.
You
can
see
in
my
Discord
up
at
the
top
you'll
see
shaniaabot
just
landed
like
she
was
added
to
it,
and
then
she
was
able
to
do.
Let's
go
girls
and
you'll
notice.
A
I
couldn't
get
impressed
to
work
for
a
while
because
well,
let's,
let's,
let's
take
a
look
so
the
way
you
do
it
is
like
I
said
you
create
your
intents
and
then
you
pass
those
intents
into
a
variable
called
client.
So
client
is
Discord
dot,
Capital,
C
client.
With
the
input
of
intents,
then,
you
have
this
client
keyword
that
you
can
create
events
on
and
you
do
at
client
dot
event.
A
You
create
a
little
async
function
here,
called
on
ready
and
on
ready
is
called
when
it
connects
so
client
event
on
ready,
just
print.
We
have
logged
in
as
this
client.user
this
one
for
on
message
for
the
event
on
message.
We
are
first
saying
I'm
so
yummy,
it's
the
worst
I
hate
it
we're
saying
if
the
message
dot
author,
so
whatever
the
message
that
comes
through
and
so
hey.
A
If
that
author
is
client.user,
which
is
Shania
bot
right,
just
return
just
get
out
of
here
right,
don't
let
Shania
call
herself,
because
that
could
be
endless
next
if
it
starts
with-
and
this
is
what
tripped
me
up
for
a
while
I
thought
starts
with-
was
something
from
the
Discord
API
and
I
was
looking
all
over
trying
to
figure
out.
Okay,
we've
got
starts
with.
What
else
can
I
use?
Okay
starts
with
is
python,
which
caught
me
off
guard
I
didn't
know
that
this
would
work
and
it
returns
true.
A
A
The
next
thing
I
I
was
like
I.
Honestly
I
spent
a
lot
of
time
trying
to
figure
out
where
it
starts
with
came
from
when
I
finally
realized
it
was
a
python
function.
I
was
like
oh
okay,
so
then
what
can
I
use
instead
of
starts
with
to
see
if
there's
a
certain
string
inside
of
the
message,
so
message
dot
content
that
gives
us
when
we're
looking
at
the
message,
that's
passed
in
up
here
right.
The
content
of
that
is,
you
know
exactly
what
it
says.
A
What's
inside
of
that
as
a
string
so
message,
dot
content
starts
with
Shania
hey
if
it
starts
with,
should
I
do
this
and
then
I
set
it
so,
okay,
okay,
I,
ended
up
figuring
out.
If
the
string
dollar
sign
and
press
in
message
dot
content
anywhere
in
there,
then
we
do
the
async
await.
Do
we
got
this
async
definition
up
here
so
await
message.channel.send
with
that,
don't
impress
me
much
and
return
so
we
could
get
rid
of
starts
with
Shania.
A
If
we
did
it
this
way,
then
no
matter
where
Shania
shows
up
dollar
sign
Shania
shows
up
it'll
trigger.
Let's
go
girls,
which
is
great.
We
can
even
clean
this
up
a
little
or
make
this
a
little
bit
better.
We
can
do
lower.
A
So
that
way,
it
lower
cases
everything
so
even
all
caps
will
work.
Lower
I
want
to
double
check.
A
And
that
would
work
such
that
now,
even
if
it's
typed
in
all
caps,
you
would
still
be
able
to
get
the
bot
to
respond.
So
this
is
my.
This
is
something
that
came
like
basically
from
the
example
version
of
python
or
of
a
Discord
bot.
They
were
like
here.
Try
this.
They
just
gave
you
code
and
fatsimo
was
on
the
stream
last
week
and
she
helped
me
understand
that
a
little
better
and
it
was
fantastic.
A
It
was
super
cool,
I
felt
real
lucky,
but
yeah,
so
that
that's
that
version
right
now
I've
got
some
changes
I
made.
So
it's
asking
me
to
make
a
commit,
but
I'm
gonna
go
ahead
and
go
to
the
slash
spot
here,
and
this
gets
a
little
more
tricky.
A
This
one
is
a
slash
command
and
it
requires
knowing
the
guild
ID
and
in
the
future
I'm
thinking
of
taking
the
guild,
ID
and
and
putting
it
somewhere
else
would
be
nice,
but
well,
we'll
see
so
having
the
guild.
Id
is
important.
You're,
creating
a
class
and
again
I,
just
I
found
a
video
online
and
I
pretty
much
just
he.
They
linked
to
their
GitHub
and
I.
A
Just
straight
up
said
yoink
and
just
changed
it
for
myself,
but
basically
you're
creating
this
class
with
the
you
know,
the
init
defined
and
I
honestly,
if
I'm
being
totally
honest,
I,
don't
really
know
what
a
lot
of
this
does,
but
I
know
that
I
was
able
to
create
a
name
for
the
bot.
A
I
was
able
to
describe
the
bot
and
then
this
is
what
creates
the
a
slash
interaction,
so
you
can
slash
command
the
bot
and
then
you
just
say
interaction
response,
send
message,
and
you
say
whatever
it
is.
You
want
them
to
do.
You
know
you'll
notice
down
here
and
I'm
going
to
go
and
change
this
now.
This
is
client
run.
A
This
is
the
secret
token
and
for
some
reason,
I
couldn't
figure
out
a
way
to
actually
get
the
the
secret
token
to
work
correctly
in
this
way,
so
I
just
hard
coded
it
and
it
worked.
I
was
like
fine,
that's
fine
by
me.
It
wasn't
letting
me
do
the
environment
variable
or
anything,
but
this
means
I
am
going
to
have
to
go
and
change
my
secret
token.
So
I'm
going
to
do
that
now
before
someone
totally
hacks
my
bots
to
death,
let's
go
ahead.
A
What
I'm
doing
is
I'm
heading
to
the
Discord
developer
portal
and
inside
there
all
I
do
is
I
just
go
to
my
application.
I
go
to
Shania
bot
I,
go
to
the
bot
stuff
and
I
click
reset
token
I
say
yes:
do
it
I
copy
it
and
I
put
it
in
a
safe
place
which
I'm
gonna
go
and
put
it
in
that
safe
place
right
now,.
C
C
A
I
think
it
is
just
in
my
regular
docswing
I,
just
called
it
like
Discord
Bots
I
was
having
trouble
I
couldn't
because
I-
and
this
is
another
problem-
I
had
I
couldn't
run
my
Discord
bot
locally,
because
I
was
getting
like
crazy
errors.
Sorry,
wild
errors
that
I
literally
didn't
know
how
to
fix.
A
It
was
saying
like
I,
couldn't
get
an
SSL
certificate
and
I
was
like
that
sounds
like
an
issue,
but
I
didn't
know
how
to
fix
that,
and
all
the
fixes
I
found
online
didn't
work,
and
so
I
ended
up
just
eventually
running
it
straight
from
gitpod.
Instead,
which
is
a
lot
easier
in
fact,
we'll
go
ahead
and
we'll
show
you
how
to
run
that
from
gitpod
and
I'm
just
gonna,
that's
going
to
be
broken
for
a
bit
yeah
again,
like
I
I'm,
trying
to
figure
out
why.
A
A
Is
like
the
the
server
ID,
which
is
really
only
visible
to
moderators,
but
like
I'll,
just
I'll
just
delete
that
server.
If
it
comes
down
to
it,
it's
just
messing
around
server.
B
B
A
I'm,
just
gonna
leave
the
commit
message.
It's
just
me
ask
me
if
I
care
and
let's
head
here
and
let's
first
off,
that
was
the
Legacy
web
IDE
on
gitlab,
which
is
our
old
web
IDE,
so
I
might
as
well
change
my
preferences
and
make
sure
I'm
using
the
new
web
IDE.
A
A
And
you
get
all
of
your
files,
it's
pretty
nice.
We've
got
this
requirements
here
to
say
what
we
need.
The
big
things
you
need
are
discord.pi
for
me.
Config
and
Dot
N
are
things
I
put
in
as
well,
and
let's
go
ahead
and
talk
about
running
this
in
gitpod
exit
exit.
A
Gitpod
is
vs
code
as
well,
but
it
has
all
the
features
so
I
get
a
terminal.
I
get
extensions
things
like
that,
and
it's
automatically
connected
to
my
gitlab
instance
to
my
get
my
project
so
I
end
up
with
a
nice
seamless
connection,
a
place
to
run
things,
and
especially
because
my
local
was
giving
me
a
hassle
and
I
didn't
know
how
to
fix
it.
A
It's
nice
to
have
this
opportunity
where
I
can
just
run
it
online
and
I
can
actually
check
if
my
bots
are
working
and
stuff.
A
All
right,
so
here
we
are
oh,
a
new
pip.
You
know
what
I
guess:
I
should
I'd
love
for
a
pip
to
just
automatically
upgrade
that's
fine.
Now,
who?
What
are
you
doing
with
jet
brains,
rebuild
sea
lion
and
Rider?
Configure
jetbrain's,
IDE
settings
across
workspaces,
interesting,
didn't
know:
gitpod
had
a
jet
brains
option,
it's
cool
all
right,
zoom,
zoom,.
C
A
Right
so
I
should,
if
I,
if
I,
add
a
a
DOT
EnV
file
here,
which
I'm
going
to
do
in
one
second,
then
I
should
be
able
to
run
everything.
I
need
right
here.
A
A
B
A
Then
install
the
requirements-
okay,
so
that
should
be
in
my
GitHub
yaml.
This
should
be
like
the
rules
now
when
this
opens
it
should
upgrade
pip,
create
a
virtual
environment.
Activate
the
virtual
environment,
then
install
the
requirements.
That'd
be
nice.
Okay,
so
I
still
need
to
create
a
EnV
file.
I
wonder
if
we
should
just
throw
a
touch:
dot
EnV
in
there.
A
A
A
I
think
that
should
all
work
and
if
it
doesn't
oh
well,
so
let's
go
ahead
and
do
this
on
our
own
and
then
I'm
gonna
hide
myself.
So
I
can
actually
put
the
up
in
there.
B
C
A
A
A
A
C
C
A
A
A
A
A
A
A
I
will
say
to
check
this
out.
This
will
be
neat.
The
session
has
been
invalidated
closed
with
4004.
and
that's
when
I
tried
to
connect
with
the
other
one
I
guess,
but
either
way.
Good
news
right
is.
A
It
connects
It's,
pretty
dope,
it's
pretty
exciting
and
I'm
just
glad
it's
working
but
like
for
me
now.
I
need
to
get
some
of
these
changes
up
to
up
to
gitlab,
so
added
get
pods
Scripts
and
changed
Slash
bot
I
also
did
something
here.
What
did
I
do
here?
B
C
A
Ready
to
use
templates
that'll
be
nice
to
see.
Let's
do
that
post
some
Yak
shaving
today,
all
right.
B
A
All
right,
let's
try
this
other
one,
because
we
need
to
know
about
that
yaml
file.
This
is
where
my
lack
of
knowledge
about
like
how
to
separate
script.
Commands
comes
in
play,
okay,
so
task
sediment
build
before
and
it
command.
A
A
A
Okay,
so
maybe
a
new
one
called
name.
No
I
can't
do
several
names.
C
B
A
B
B
A
B
B
C
B
A
B
B
A
I'll
be
very
excited
to
know
that
this
works,
because
this
has
been
a
frustration
for
me
in
in
get
pod
is
every
time
I
go
in
I
have
to
like
start.
The
virtual
environment.
I
have
to
like
do
a
bunch
of
things
and
like
knowing
that
this
would
work
would
be
super
cool,
because
then
I
could
just
like
teach
students
and
just
have
this
happen.
All
the
time.
C
A
A
Because
we
need
to
make
the
environment
very
sorry,
we
need
to
make
the
dot
EnV
file
and
then
we
need
to
put
stuff
in
it,
but
maybe
that
just
has
to
be
manual.
I
tell
students!
Okay,
oh
like
in
this
studying
v
file,
that
we
created
click
in
and
add
this
variable
with
you
know
the
whatever
the
stuff
you
need.
A
A
C
A
A
Do
this
for
the
virtual
environment?
A
A
This
is
awesome
news.
What
a
good
day!
This
has
been,
what
a
great
great
day
I
feel
like.
There
was
something
else:
I
was
trying
to
make
happen,
I
mean
I
need,
so
I
still
need
to
like,
like
now
my
bot's
dead,
because,
where
I'm
running
it,
which
is.
C
A
So
this
is
a
thing
spark
toast
which
is
pretty
dope.
A
Sparked
host
does
Discord
bot
hosting,
and
it's
only
costing
me
a
buck
a
month.
I
need
to
figure
out
how
to
run
multiple
Bots
here
because
it
is
like.
Essentially,
it
is
just
a
place
where
I
just
stick
some
files
and
I
run
it
just
like
it's
like
a
terminal,
in
my
mind
like
it's
just
a
terminal
so
basic,
you
know:
I've
got
five
gigabytes
of
SSD
I've
Got
5
to
12
megabytes
of
ram
like
it's,
it's
doing
its
job
and
it's
a
buck
a
month.
A
So
what
I
need
is
a
way
to
run
multiple
Bots
and
in
one
place,
but
I
did
that
and
where
that
takes
me
is
this
is
my
console
and
it's
like
it's
all
dead
right
now,
because
the
crash
occurred,
but
it
gives
me
a
I
use
filezilla
to
transfer
files
over
and
you
know,
there's
slash
bot,
there's
requirements,
there's
bot
and
Bot
config
and
there's
dot
EnV
and
in
here
under
startup,
you
sort
of
tell
it
what
to
do
we're
using
python
3.1,
which
I
think
we're
using
python
3.1.
B
A
But
you
know
I
told
it
python
version.
What
file
are
you
starting
up?
I
told
a
bot
dot
Pi,
because
that
is
my
dollar
sign,
but
if
I
tell
it
slash
bot,
then
it'll
run
the
slash
command
one.
What
packages
do
you
need
because
I
have
requirements
in
there
inside
here?
A
It
will
just
automatically
install
requirements
with
the
startup
command,
so
I
didn't
have
to
put
packages
here,
there's
some
stuff
for
repos
and
stuff,
but
it
seems
to
be
specifically
for
GitHub,
but
there
is,
you
know
way
to
do
it
with
Git,
but
I.
Just
I
haven't
gotten
to
that
part
where
it
automates
I'd
love
for
that
that'd
be
great,
because
when
I
push
an
update
to
Maine,
it
would
just
change
it
on
here,
but
not
not
there
yet
not
there
yet,
but
this
is
It's.
A
You
know
this
is
great
for
what
I
need
I,
just
click
Start,
and
it
runs
it's
not
going
to
work
right
now,
because
the
environment
variable
is
incorrect.
A
A
Just
like
a
this
is
an
hour,
a
50
minute
stream,
but
I'm
slowly,
but
surely
getting
to
where
I'm
going
to
build
a
workshop
around
this,
that
anyone
can
do
on
their
own
and
building
a
Blog
out
of
this
talking
about
how
to
build
a
Discord
bot
I
feel
like
there's
a
lot
of
content
here.
That
I
can
really
create
and
bring
and
do
some
cool
stuff
with,
but
for
today
that's
gonna
be
all
I'm
gonna
go
and
I'm
gonna
change.
Some
things
around
make
sure
I've
got
all
my
secrets
everywhere.
A
They
need
to
be
and
see
if
I
can
get
my
bot
back
up
and
running.
Hopefully,
if
Fatima
says
yes,
we
can
put
Shania
on
the
the
get
lab
the
official
get
live,
Discord
which
would
be
cool,
but
for
now
I'm
going
to
get
out
of
here
and
I
will
talk
to
y'all
later.