►
From YouTube: FRIDAY FUN! HTM Chat, AI Chat, live coding in javascript, neuroscience chat, twitch API webhook subs
Description
For most of this video I was trying to get some Twitch overlay features working. I investigated the Twitch API docs for streams and users, and tried to set up webhook subscriptions. -- Watch live at https://www.twitch.tv/rhyolight_
A
I
need
to
make
like
a
checklist
of
things,
to
do
every
time.
I
start
a
live
stream,
because
I
feel
like
I,
should
tell
people
somehow
what's
happening
and
that's
one
of
the
reasons
I
bought
one
of
those
board
things.
Okay,
I
want
to
fig
there's
something
wrong
with
this
overlay,
because
it's
I
can't
see
the
bottom
of
it.
So
I'll
just
bring
this
over.
So
you
can
see
what
him
get
away.
Yeah
I
got
to
do
left
space
here.
A
B
B
A
A
A
Worked
on
this
a
little
bit
yesterday,
it's
in
that
HTML,
though
I'm
doing
this.
Now
that
I
have
a
stream
should
be
able
to
refresh,
and
if
it's
not
getting
it,
it's
not
getting
moisture.
Oh
yeah,
there's
there.
It
is
so
now
here's
my
my
chat,
title
I've
been
streaming
for
three
minutes:
I
have
one
viewer
viewers,
one
viewers,
oh
and
that's
up
in
the
corner
too,
so
eventually
I'll
get
rid
of
the
thing
in
the
corner.
A
So
this
is
not
making
any
webhook
calls
it's
just
when
the
server
comes
up
it
it's
it
hits
my
stream
and
asks
if
there's
anything,
live
and
shows
it,
but
it's
better
than
nothing.
I,
don't
think
I'm
going
to
set
up
the
web
hooks
today,
I'm
gonna
go
answer
some
forum,
questions
and
stuff
and
I'm
gonna
figure
out
like
when
I
start
a
twitch
stream
who
do
I
need
like
what
are
we?
How
do
I
need
to
I
need
to
make
a
list
of
like
I
want
to
post
it
and
discord
on
new
twitch?
B
B
A
A
A
A
And
one
thing
I
have
not
figured
out,
which
is
a
real
bummer,
is
how
to
get
my
desktop
audio
from
my
Mac
streamed
into
OBS,
because
I
need
that
I
will
definitely
need
that
I
know
you
have
sound
flower
I've
already
got
that
installed,
but
it
seems
like
I
can
either
stream
it
through
desktop
audio
in
OBS
through
sound
flower
or
hear
it
I
can't
do
both
you
can't
so
I,
don't
know
what
the
fix
is
there,
but
anyway,
so
I'm
gonna
fix
this.
This
Roku
overlay
real,
quick
once
I
get
back
over
here.
A
So
this
is
too
low
and
it
just
needs
to
be
moved
up.
That's
all
and
I
think
I
just
used
the
wrong
CSS
on
it.
I
think
cuz
I
put
a
header
and
a
footer
and
I
just
split
one
I
put
one,
you
know:
I
know
the
margin
where
it
should
be
I
just
put
it
too
far
down.
So,
let's,
let's
try
this
10:30,
let's
search
in
30
pixels
for
margin
top
and
then
unfortunately,
I'm
gonna
I
think
have
to
like
redeploy
and
test
it
out
and
in
OBS,
which
is
you
know
over
here.
A
So,
first
off,
where
was
that
a
footer
margin
top
I'm,
changing
it
moving
it
a
bit,
and
so
that
should
be
reflected
here
it
locally.
It
moves
a
little
right.
10:30
I
think
is
where
it
ended
up,
but
now
I
have
to
actually
deploy
it
to
I.
Have
a
lot
of
windows
open,
not
sure
why
I
don't
need
this
one
open!
I!
Don't
need
this
one
open!
Let's
just
use
one!
Let's
just
use
one
shell,
okay,
they're
bad
with
that.
Okay,.
A
A
A
A
B
A
A
A
This
OBS!
This
got
a
really
bad
bug
on
Mac
I
see
it's
not
even
it's
totally
not
sized
properly,
so
I
need
to
figure
this
out
because
I
want
it
to
look
like
this,
and
it's
not
looking
like
that
at
all.
It's
it's
halfway
over
not
all
the
way
over
I
mean
the
easy
fixes
just
to
keep
moving
that
footer
up,
which
I
guess
is
the
easy
thing
to
do.
A
But
I
want
to
I
want
my
math
to
work
out
because
I
expected
like,
for
example,
in
my
settings,
video
output,
it's
12,
it's
not
1920
by
1080!
Oh,
that's
why
I
was
it
was
1,200,
not
1080,
so
this
this
is
easy,
then
so
I
should.
That's!
No
wonder
my
math
wasn't
working
I,
wonder
I'm
gonna
move
this
out,
so
you
can
see
what
I'm
doing
now.
No
wonder
my
math
wasn't
working.
This
needs
to
go
on
top
there.
This
doesn't
look
the
best
right
now
in
the
stream,
but
I'm
gonna
fix
it.
A
A
A
So
it's
1920,
55
or
whatever
I
made
it
I
know,
don't
tell
me
about
less
and
see
watch.
This
is
how
good
I
am
at
math,
1920,
55
1865,
so
margin-top,
it's
gonna
be
1860,
that's
all
right
with
height
height
height,
not
not
with
a
1080
55
courses,
1025,
pixels
and
I
want
to
keep
the
top
border
on
it.
Okay,
so
oh
I,
don't
understand
why
it's
there
I,
don't
really
understand
why
it's
there
and
not
I'm
gonna
cheat
I'm
gonna
see
if
I
can
load.
I'm
gonna
get
rid
of
this
here.
A
B
A
Put
this
server
can
I
put
localhost,
it's
not
a
local
file.
It's
it's
localhost
again
I'm
working
over
here
I'm
in
OBS
I'm
trying
to
try
to
put
the
right
overlay
in
place
here
and
it
needs
to
be
1920
by
1080.
Okay,
all
right
does
it
fit.
It
fits,
but
there's
no
bottom
to
it,
because
it
doesn't
because
right
now,
1080p
is
the
only
option
yeah,
it
seems
like
it,
but
I,
but
I'm,
just
gonna
scoot
it
up.
A
This
is
silly
I'll,
just
scoot
it
up
and
not
worry
about
understanding
why
it
works,
let's
just
spot.
Let's
just
try
970
and
see
where
that
puts
it.
That's
probably
gonna
be
a
little
bit
higher.
Let's
try,
950,
okay
and
let's
see
what
that
looks
like
it
should
reload
when
I
switched
back
and
forth,
but
it
doesn't
and
it
totally
changes
size
that
bugs
me
so
much.
Why
does
it
do
that?
It's
again,
it's
a
bug.
I
know
it's
a
bug.
It
bugs
me
the
bug
bugs
me
for
sure,
and
it's
not
showing
up.
A
B
A
Okay,
there,
okay
and
it's
working,
but
it's
but
I,
need
to
move
it
down
a
little
bit.
I
can
do
that
all
right
back
to
it
where
it
was
I,
guess
so,
I'm
gonna
take
those
borders
out
shouldn't
I
should
not
that
border
I
like
the
the
barbed
the
Overland
border,
so
shouldn't
actually
even
see
it
should
just
be
a
bar
on
top
and
a
bar
on
bottom.
The
thing
is
I
think
I
have
to
remove
it
and
put
it
back
to
get
it
to
come
up.
A
This
is
just
a
local
one.
It's
not
I
haven't
deployed
it
yet,
okay.
Why?
So,
if
I
open
the
configuration
and
then
hit
okay,
it
resizes,
but
that's
good,
that
that
works
right.
That
looks
pretty
good.
So
I
should
be
able
to
put
this
on
the
front
too,
and
this
is
just
a
local
overlay
and
it's
hidden.
Why
is
it
so
big
I?
Don't
know
that
either
if
I
hit
okay,
it'll
resize,
but
it's
not
the
right
size.
Still,
okay,
I'm
deploying
this
and
I'm
gonna.
A
A
Once
I
get
this
done
and
it
looks
decent
I
will
get
on
with
some
real
work.
I
guess
you
could
call
this
real
work,
but
alright
here
is
the
server
it
is
restarting
and
then
I
will
want
to
go
so
I've
already
got
the
Heroku
over.
Let
all
these
places
and
it's
already
sized
all
wacky,
so
I'll,
just
good.
It's
working,
ok,
a
browser
and
I
understand
this
is
not
gonna
work
that
I
do
the
settings
right.
So
it's
1080
or.
A
A
B
A
How
about
that
people?
How
about
that
I
did
something
with
the
twitch
API,
so
you
can
you
can
see
this
I
actually
did
make
this
open
source.
If
you
want
to.
If
you
want
to
look
at
it,
I'll
throw
it
in
chat.
I
gotta
get
the
chat
open
though,
and
it's
just
like
a
little
node
server
and
it
I
think
it
has
my
client
ID
in
it.
But
who
cares
right
because
it
doesn't
have
the
secret
so
there
it
isn't
chat.
A
So
you
can
see
if
you
want
to
see
the
code,
but
it's
just
a
simple
little
I
have
not
read.
This
is
not
great
code.
By
the
way
it's
just.
It's
I
have
not
like
refactored
it.
I
can
take
off
the
twitch
Watchers
now,
which
is
cool
some
of
I'm
back
I'm,
just
love
noticing
an
OBS,
and
all
of
these
I
can
there's
a
that
Watchers
icon,
because
now
I
have
three
viewers
right
here.
So
I
can
just
remove
it.
A
A
A
A
A
It
starts
with
the
clocks,
I've
I've
listened
this
album,
probably
thousands
of
times
you
all
should.
If
you
haven't
okay,
oh
man
something's
around
my
chat,
so
my
chat
is
popping.
My
chat
needs
to
be
over
used
to
be
moved
a
little
lovin,
my
oh
you
like
my
Skynet.
She
shirt.
Okay.
Let
me
just
I'm
trying.
Let
me
just
adjust
my
chat
screen.
They're,
probably
gonna
have
to
do
the
same
thing
on
all
these.
Just
move
them
up,
I'm,
just
moving
them
up
a
little
bit.
A
A
A
A
So
perhaps
it
was
oh
yeah
I'm
gonna
go
over
the
form.
I'm
gonna
answer
form
questions
so
we'll
share
this
screen,
just
pop
it
through
I,
usually
just
go
to
latest
then
I.
Do
this
every
morning,
pretty
much
on
the
weekends.
Sometimes
I
won't
I'll.
Always
look
I
always
have
to
look
and
see
what
new
comments
or
whatever
have
popped
up,
but
I
won't
always
every
like
Saturday
or
Sunday
read
through
everything,
because
I
just
you
know,
you
need
a
break.
A
Some
I
don't
always
want
to
be
on
with
the
community,
but
but
every
weekday
I
certainly
will
go
at
least
once
a
day
go
through
all
of
the
all
of
the
new
messages
and
read
up
and
and
sometimes
I'll
just
peruse
them
and
think
I
know
what
that
is
saying,
but
yeah
hi,
Mark
Brown
the
constructed
location
signal
much
of
HTM
30
requires
that
a
sense
pattern
is
at
some
location
in
space,
depending
on
which
limit
to
pay
for
your
reading.
There's
considerable
variation,
specific
details
in
some
of
the
papers.
A
A
As
far
as
splitting
out
you
go,
Alice
enter
coding,
see
this
as
representations
at
different
cortex,
Maps
yeah.
I,
really
don't
know
how
that
works.
I,
don't
understand
how
that
how
the
transition
between
ego
and
allocentric
works,
I
think
I've
heard
Jeff
say
that
this
could
potentially
be
happening
in
visual
cortex,
where
there
are
additional
layers
in
l4.
A
Okay,
that's
five
I,
that's
not
from
me,
but
I've
heard
Jeff
said
that
he
thinks
that
perhaps
the
additional
or
the
larger
l4
is
some
type
of
pathway
to
translate,
because
you
have
to
have
a
place
to
do
that:
translation
right
to
in
to
place
allocentric
objects
into
egocentric
space,
or
else
we
wouldn't
be
able
to
model
objects
in
egocentric
space.
So
it's
probably
happy
it's
gotta
be
happening
in
some
place
in
the
brain,
but
that's
all
I
know
about
it.
A
A
Jeff
into
this
conversation
right,
that's
you
Jeff,
Hawkins,
I've,
heard
Jeff
say
that
the
extra
layer
and
l4
within
visual,
cortex
and
I
think
this
is
v1
specifically
but
v1
I
think
it's
a
v1
might
be
a
place
where
this
translation
from
one
from
let's
say
this:
let's
say
you
go
to
a
low
centric.
You
go
it's
more
like
a
low.
A
A
I
think
he
gets
it.
I
explained
twitch
to
him
and
there's
much
you
know
bigger,
as
I
could
and
I
think
he
understands.
I
think
he's
excited
like
I'm
excited,
so
that's
good,
cuz
I'm
very
excited
about
twitch
right
now.
This
is
the
SDR
class
and
the
community
fork
stories,
both
sparse
and
dense
formats,
until
either
of
them
are
assigned
to
when
either
the
formats
are
assigned
at
other
formats
are
invalidated.
Recalculated.
That
makes
sense.
B
A
A
And
one
column
is
the
representation
of
a
change
of
a
boost
factor
in
one
column,
over
iterations
I.
Think
so,
like
goose
factors,
change
I
think
we
adjust
boot.
We
can
adjust
boost
factors
as
frequently
as
you
want
to,
but
it
takes
some
calculation
so
in
in
in
practice,
it
seems
like
you
can
get
away
with
adjusting
the
boost
factors
initially
for
some
initial
time
period
and
then
once
they've
sort
of
established,
oh
boy,
that's
the
clocks,
once
they've
established
what
those
are
then
sort
of
the
pattern
has
been
spread
through
the
population
of
cells.
A
So
I
forgot
to
do
the
thing
I
said
I
was
going
to
do,
which
was
to
tell
the
people
in
HTM
forum
that
I
am
streaming.
So
that's
something
I'm
going
to
do
right
now,
I've
been
trying
to
figure
out
how
to
get
people
on
HTM
forum
to
comment
to
twitch
I.
Have
this
comp
this
this
thread
here
where
I
basic?
This
was
the
first
time
this
was
more
than
two
weeks
ago
and
I.
Basically,
I
made
a
twitch
account
over
a
year
or
two
ago
and
I
didn't
get
it
I.
A
Just
did
it
because
I
thought
I
had
something
to
experiment
with
and
I
didn't
do
anything
on
it
because
I
was
I
was
working
in
Felton
and
there
was
this
other
guy
in
the
office
there
was
a
co-working
space
and
he
he
was
a
gamer
and
all
he
ever
did
in
the
office.
I
would
come
in
the
office
early
and
usually
like
he
would
be
there
and
I
thought
it
was
weird.
Cuz
I
was
always
early.
That.
A
D
A
C
D
A
Said
he
was,
he
was
a
twitch
content
creator
like
he
gamed
on
Twitch.
That
was
what
he
did,
but
I
don't
think
it
was
very
successful
for
him
because
he
didn't
last
it
very
long
and
he
also
some
on
the
floor.
So
that
was
my
first
exposure
to
twitch
and
I
talked
to
him
about
it
and
I.
Remember
him
being
excited
about
it,
but
I
didn't
quite
get
it
at
the
time
and
now
I
am
getting
it
and
so
I
sort
of
threw
this
out
on
the
forum.
A
Thinking
yeah
I'm
thrown
I'm
testing
this
out
and
just
to
see.
If
anybody
would
watch
it
and
I
think
there's
been
a
few
people.
Probably
a
bit
Falco's
on
online
there's
been
a
few
people
that
are
consistently
watching
the
streams
which
is
great
and
like
David,
Keaney,
sorry,
Keaney
yeah
he's
he's
watched
some
his
streams,
Richard
Crowder's
watch
some
of
streams
and
I
know.
Falco
is
usually
on
the
streams.
Tachyon
was
on
the
streams.
Adonus
has
a
a
discourse
server
already
and
on
his
server
I,
just
I
found
so
there's
already
some
involvement.
A
Oh
also
Marty
here
he's
been
watching
the
streams.
Although
some
of
these
people
have
a
hard
time
doing,
it
live
because
I'm
doing
it
Pacific
time
and
and
everybody
spread
out,
Marc
Brown
can't
because
you
know
work,
firewalls,
I
hate
that
that's
I
hate
that,
but
there's
a
lot
of
firewalls
keeping
this
from
being
available
for
people.
A
You
were
just
talking
about
blender,
so
at
the
end
of
this
I
basically
said
I'm
gonna
stop
posting
whenever
I
stream
on
Twitch
and
I'm
gonna
archive
to
the
YouTube
playlist,
which
I
have
been
doing-
and
you
can
see
here-
this
isn't
even
the
latest
stuff
I,
don't
think
I
added,
oh
yeah!
So
here's
the
last
these
last
two
new
pic
Python
2
to
3
migration,
I
I
stream,
that
on
Tuesday
I,
think
and
then
I
did
some
live
coding.
A
It's
in
this
stuff
for
like
three
hours
on
I,
don't
even
remember
what
maybe
that
was
Tuesday!
Well,
that
was
yesterday
anyway.
I
think
I
should
probably
I.
Think
I
will
continue
to
post
that
I'm
live
okay,
I'm,
just
gonna
keep
posting
that
I'm
live
on
Twitter,
okay,
oh
I,
changed
my
mind
and
I
will
we'll
be
posting
on
this
thread.
Every
time
I
go,
I
live
stream
on
Twitch.
A
B
A
A
Is
this
Marquis
annoying
to
anybody?
I
thought
I
could
just
make
it
smaller.
If
the
thing
what
I
wanted
to
do
is
as
I
change,
what
I'm
doing
in
the
stream
I
can
go
edit
it
and
it
will
pop
up.
You
know
eventually,
once
I
get
the
web
hooks
in
place,
which
I
don't
I,
don't
have
the
web
hooks
in
place
yet,
but
ok,
yes,
I
was
nervous
about
that
interview
with
Conrad
nylon.
A
Recently,
just
listen
this
part
to
today.
Oh
I,
really
appreciated
the
amount
of
time
spent
discussing
my
question.
It
was
a
great
conversation
overall,
great
episode,
thanks
Jimmy
I,
honestly,
don't
remember
what
your
question
was
Oh.
Would
you
describe
himself
as
a
Bayesian
in
the
context
of
AI
yeah.
B
A
About
here
is
where,
where
is
the
interview
it's
on
our
YouTube,
which
you
can
that's
on
HTM
school?
What
I
linked
up
at
the
top
there?
You
can
search
YouTube
for
HTM
school,
but
the
video
is
here.
If
you
want
to
see
it
since
I'm
referring
to
it
and
how
do
I
put
it
in
the
chat.
I'm
gonna
put
it
in
the
chat
for
anybody
who
wants
to
see
it
there
popped.
A
B
A
D
A
A
All
computer
languages
eventually
end
up
emitting
machine
code.
If
you
look
at
the
tasks
of
AI,
understand
the
essence
of
what
these
constructions
are
attempting
to
do
as
compared
to
the
general
purpose.
Computer
language,
I'm,
left
thinking
that
rendering
and
shine
code
source
code
is
the
wrong
direction
to
be
headed.
If
we
move
in
the
other
direction,
we
could
cleaner
the
realm
of
dsls,
and
that
is
where
I
think
this
project
might
get
some
legs.
A
A
The
goal
is
to
demonstrate
human-level.
Ai
is
not
a
threshold
for
a
system
to
be
capable
wait.
The
goal
is
to
demonstrate
that
human
level
intelligence
is
not
a
threshold
for
a
system
to
be
capable
of
modifying
its
own
source
code
to
recursively.
Regenerate,
improved
versions
of
itself
is
not
a
threshold
for
a
system
if
you
capable
of
modifying
its
on
source
code
for
Crusoe
generators
that
are
in
turn
able
to
do
the
same
immeasurable,
not
better
than
the
previous
iteration
human
and
just
trying
to
process
the
words
in
the
sentence.
A
It's
not
a
threshold
for
a
system
to
be
capable
of
modifying
its
own
source
code
for
krisily
right
I'm,
a
little
confused
by
that
statement,
but
I'm
going
to
skip
it.
What
level
of
intelligence
is
there
at
evolution
just
to
make
just
make
eliminate
any
confusion
about
brains,
apple,
pear,
same
general,
process
of
working
evolution?
A
Fluid
brings
me
uses
it
as
a
process
and
not
guided
by
intelligence,
I
sort
of
agree
with
that
I
wouldn't
call
DNA
intelligent,
although
some
people
do
call
T&A,
intelligent
I
understand
that
Asperger
goldblum,
the
coments
orthogonals
forints,
whatever
we're
talking
about
it's
going
to
have
to
render
something
I'm
suggesting
that
a
DSL
would
be
more
feasible,
selective
breeding
of
GM,
oh
yeah
yeah.
That
sort
of
makes
sense
in
that
we
are
on
an
HTM
form,
and
my
original
post
of
this
topic
was
in
fact
my
first
post
any
topic
on
this
form.
A
It
would
be
fair
to
say
that
I
did
so
with
HTM
on
the
brain
now
I
get
that
we're
not
talking
about
HTM
here
but
AI
in
general.
That's
from
selective
breeding
point
of
view.
Okay,
I
just
wanted
to
make
sure
that
everybody
was
so.
This
was
vort
reads:
first,
post
I,
think
Eric
before
tree
aid
systems,
architect
for
a
major
financial
concern
and
working
with
grok
a
proof
of
concept
for
anomaly
detection;
very
good,
very
good,
okay.
Okay,
so
we
want
to
help
the
sky
speaking
figure
from
a
selective
breeding
point
of
view.
A
A
A
A
A
A
A
A
A
A
There
we
go.
Okay,
thought
experiment
consciousness
and
awareness
move
from
creation,
triad,
which
we
haven't
seen
in
a
while
welcome
back
software
engineer
literally
20
years,
I
hope
I'm,
not
missing
any
chat,
sometimes
I
feel
like
I'm
I
should
pop
this
out.
The
second
dashboard
I
can
pop
the
chat
room
out
like
this.
A
Want
to
get
some
feedback
on
a
thought:
experiment
posted
a
video
like
to
get
some
more
rounded
perspective,
the
human
neuron,
the
gist
of
the
experiment.
You
decide
to
model
the
human
brain
with
your
classmates
in
your
neurology
class.
It
just
so
happens.
You
have
about
a
hundred
billion
classmates
each
one
models:
a
single
neuron.
Each
student
is
given
a
clipboard
with
multiple
rules
to
follow
under
different
visions,
Alyssa
preparing
connections
to
other.
A
That's
what
orchestrates
the
experiment
was
this
some
it's
anyone
listening
read
the
three-body
problem,
because
this
reminds
me
of
the
human
CPU
or
the
human
computer
that
was
in
the
three-body
problem,
making
sure
everything
happens
in
time
to
a
beat
so
that
nothing
gets
out
of
sync.
The
professor
also
has
a
mechanism
and
translates
the
video
input
from
a
couple
of
cameras
mounted
inside
a
mechanical
body
into
the
thread,
tugs
and
other
sensory
input.
Devices
there's
also
help
with
devices
to
translate
thread.
A
Tugs
in
the
movement
question
is
granted
that
the
speed
of
processing
is
slowed
dramatically
when
a
conscious
mind
emerged
from
this
assembly
and
if
the
case
is
that
it
does,
is
it
possible
that
people
interacting
in
just
normal
communities
at
work
or
other
such
communal
clusters
also
spawn
some
sort
of
distributed
consciousness?
This
has
me
really
thinking
about
a
bunch
of
different
possibilities
with
questions.
Here's
a
link
to
a
video
I
made
if
at
all,
you're
interested
thoughts,
questions
yeah,
so
I
thought
of
the
Chinese
room
a
little
bit
too.
A
I,
don't
know
the
answer
to
that
question.
It
may
be
our
memes
conscious,
because
memes
certainly
have
a
life
of
their
own
I.
Don't
know
that
they
take
actions.
Do
you
have
to
take
actions
to
be
conscious?
Probably
maybe
not.
Consciousness
is
created
through
action
and
response
and
feedback,
but
you
could
take
a
conscious
mind
and
cut
off
all
stimulation
and
it
would
still
be
conscious,
even
though
it
can
no
longer
take
actions,
it
can
still
take
actions
in
its
own
mind.
A
A
A
A
A
A
B
A
Goals
accessible
and
C++
and
Python
implemented
in
C++
bindings
into
Python,
hopefully
they're
working
towards
Python,
3
I
think
I
need
to
open
a
window
in
here.
It's
new
feature,
some
of
the
major
differences
support
for
Python
3
and
python
2
7
only
python
3
under
windows.
So
there's
your
python
3
support.
We're
we're
not
going
to
upgrade
new
pick
for
python
3
support,
I,
don't
think
I'm
gonna
get
this
Watchers
thing
up,
so
I
can
see
it.
I
wanna
see
how
many
I
have
zero.
B
B
A
There,
it
is
it's
actually
one-one
watcher,
thanks
for
waiting,
I'll
be
right
there,
but
right
there.
So
the
one
of
the
issues
I'm
having
here
is
like
this
watch.
This
viewer
is
sitting
down
at
the
bottom.
Here
is
not
updating
this.
This
also
is
not
updating
like
if
I
go
change,
my
stream,
you
won't,
it
won't
update
and
I
haven't
been
streaming.
18
minutes,
I've
been
streaming
a
lot
longer,
so
what
I
need
to
do
is
update
the
web
server.
That
is
currently
running
this
thing,
which
is
a
node.js
server,
so
I
think
I'll
change.
A
A
A
It's
super
easy,
you
just
tell
it
the
URL
you
want
to
oh,
no,
no.
This
is
different.
This
is
a
this
is
on
the
JavaScript
client,
so
I've
actually
set
up
an
HTTP
proxy
at
slash,
underscore
twitch,
which
I
I
like
to
do
when
I
have
clients
that
are
communicating
with
the
server
through
xhr,
sending
data
back
and
forth.
I'll
open
up
a
back-channel
like
slash
twitch,
and
this
is
basically
a
proxy
for
the
twitch
API.
A
So
I'll
have
my
server
catch
everything
and
I'm,
telling
it
where
I
wanted
to
actually
to
go,
which
is
the
streams
URL
and
and
the
server
will
catch
that
then
I've
got
a
little
request
handler
right
here
for
that
URL
and
it
will
get
the
the
twitch
URL,
which
I
called
the
T
URL
for
black
of
a
better
name,
and
it
will
then
just
request
basically
just
put
whatever
request
you.
The
client
wanted
and
bundle
it
and
send
it
on
to
the
twitch
API
whoops.
So
so,
basically,
I
didn't
write.
A
My
own
twitch
client
I
just
wrote
a
little
proxy
on
the
server
cuz.
It
has
to
be
on
the
server,
because
you
can't
send
you
know
HTTP
calls
from
localhost
or
from
your
client
cross-origin
requests.
They
call
them.
So
we're
not
going
to
do
that.
So
this
all
just
gets
hit
proxy
through
the
server
and
on
to
the
switch
API.
So
on
the
client-
and
this
is
the
JavaScript
literally
all
I'm
doing
here-
is
making
the
ajax
call
to
that
proxy
URL,
I'm
telling
it
here's
the
ajax
or
I'm
excuse
me,
here's
the
API
endpoint.
A
I
want
you
to
hit
and
then
here's
the
and
the
parameters
are
all
up
in
here
too.
So
I'm
just
saying
give
me
all
the
streams
from
the
user
that
was
specified
on
the
client,
which
was
rhyolite
and
that's
what
happens
so
and
then
I
have
a
function
that
just
renders
that
data
that
blob,
you
know
jason
blob,
glob
whatever
render
stream.
So
the
idea
being
that
I
can
call
render
stream
on
any
stream
object
that
I
get
back,
whether
I
call
directly
for
it
and
retrieve
it
back
or
if
a
web
hook.
A
A
A
Alright,
it
looks
like
this
webhooks
hub
and
the
body
pram,
so
it
expects
a
hub
object
and
with
a
callback,
that's
a
URL,
so
that'll
be
specifically
the
URL
my
deployed
server,
because
I
can't
make
it
local
host
I'm
going
to
have
to
test
this
on
the
deployed
server.
That's
the
hard
thing
about
web
hooks.
You
you
have
to
deploy
them
to
detect,
to
test
them
or
like
send
them
through
some
proxying
service,
which
I'm
not
going
to
do
I'm
just
going
to
deploy
it
and
test
it.
A
A
Mode,
oh
here
it
is
mode
subscribe,
topic,
user,
follow
stream
change,
that's
what
I
want
stream
changed,
so
I
want
to
call
this
URL.
So,
let's
start
making
this
request
we'll
just
we'll
just
create
a
function.
This
is
going
to
be
server
side
and
this
is
going
to
be
like,
as
the
server
is
standing
up
like
it's
coming
online
and
it's
going
to
go
subscribe
for
web
hooks.
A
It
might
get
something
I
might
expect
to
do
this
many
times
over
and
over
so
I
need
to
make
sure
that
it
can
figure
out
that
if
it
already
has
a
subscription,
it
doesn't
need
to
do
it
again.
We'll
see
what
the
API
responds
with
some
web
hooks
some
web
hook,
API
seem
to
allow
you
to
fetch
how
many
subscriptions
you
already
have
and
man
them.
Some
of
them
will
just
only
let
you
have
one
per
end
point
will
we'll
find
out.
A
A
A
A
It's
fine
I'll
leave
it
in
both
places.
For
now
I
mean,
ideally,
you
wouldn't
want
to
have
it
in
both
places,
but
for
now
I,
don't
I,
don't
care
too
much.
So
I
don't
need
to
do
this
I'm
just
gonna.
Do
it
for
one
stream
this
I
was
I
was
assuming
I
was
gonna
need
to
manage
my
own
web
hooks
so
we'll
see.
Maybe
we
won't
need
to
do
that
so
I'm,
gonna,
post
and
here's
the
URL
I
need
to
post
to
this
one,
the
hub,
it's
not
a
post.
Is
it
yeah
post?
A
B
B
A
A
A
So
update
so
I'm
going
to
when
the
server
starts
up,
we're
gonna
update
webhook
subscriptions.
Let's
just
call
this
leave
it
at
this.
Okay,
we're
just
gonna,
do
one
with
a
new
stream
monitor,
so
I
want
to
get
web
hooks
back
to
this
URL,
which
I
haven't
established
yet
right
and
when
I
get
back
to
that
URL
I'm,
just
going
to
log
it
out,
I
actually
have
to
cache
it
right.
I
have
to
let
the
client
know
that
I've
got
something
new.
A
So
a
way
to
do
that
would
be
like
WebSockets
are
polling,
so
I
could
have
a
socket
open
and
always
send
back
information
in
that
request
handler.
So
that's
that's
one
way.
I
could
do
it,
but
right
now,
let's
just
worry
about
the
server.
Let's
not
do
too
much
at
once.
Worried
about
the
server
will
just
console.log
out
what
we
get
back
in
that
request.
Handler,
assuming
that
it
exists.
Let's
make
it
real,
quick
and
just
dump
whatever
it
gets.
A
A
Our
Dark
Side
of
the
Moon
is
over.
Isn't
it
body
or
is
it
requests
here?
I'll
we'll
find
out.
I
can
never
remember
everybody's
just
everybody's
age,
HTTP
servers
are
all
different,
hey
look!
My
my
estimated
viewers
is
the
same
as
the
actual
viewers.
This
is
not
estimated
it's
just
hard
coded.
It
was
the
amount
of
viewers
I
had
when
I
made
the
switch.
A
This
is
going
to
eventually
update
automatically
that's
what
I'm
working
on
is
to
get
the
viewers
the
time
streaming
and
the
name
of
the
stream
to
update
every
time
they
change
so
so
I'm
setting
up
a
web
hook
from
my
twitch
server
I've
got
a
little
OBS
overlay
server.
That's
what's
displaying
this
stuff
here
and
that's
where
that's
what
I'm
writing
right
here.
A
So
it's
gonna
hit
the
switch
web
hook,
so
I'm
just
gonna
log
out
its
subscribe
and
then
the
other
thing
was
a
top
was
a
topic
not
this
topic
stream
change.
So
it's
a
string
strange.
It
stream
changed.
Okay,
so
wait
a
minute.
What
does
it
mean
by
that?
It's
a
string,
a
hub
topic,
a
URL,
oh
for
the
topic
to
subscribe,
or
oh
so
it's
just
a
URL
to
the
the
actual
API
endpoint
that
you
would
call
to
get
this
update.
A
A
Yeah
I
guess
I'm,
not
gonna.
Do
the
secret
right
now,
I
might
do
it
later.
You
guys
could
hack
my
server
if
you
wanted
to,
but
I
trust
you
sort
of
I'll
make
it
hardened
a
little
bit
later.
So,
let's
see
what
happens
when
I
subscribe
to
this.
If
your
subscription
request
passes
review,
oh
when
you
submit
your
request,
is
asynchronously
validated
to
confirm
you
are
allowed
to
create
a
subscription,
depending
on
the
results
of
the
validation
twitch
responds
by
sending
you
wanted
to
get
requests
subscription
verify.
A
Sends
your
request
to
confirm
that
you
requested
the
submission
the
subscription
to
confirm
you
must
respond
to
the
request,
with
the
challenge
token
provided
in
the
query
parameters
and
an
HTTP
success
response
code.
Alright,
so
first,
let's
see
what
we
get
sent
back
and
then
we
will
respond
to
it
appropriately.
A
So
let
me
make
sure
that
I
have
my
code
in
place
here.
What
I
would
do
if
I
were
writing
a
real
web
application
like
production
web
application
right
now
is
write
is,
is,
is
write.
Some
curl
requests
right
to
hit
all
the
API
endpoints
and
get
the
data
packages
that
I
expect
to
receive
from
all
these
endpoints
and
then
write
tests
around
them,
but
I'm
not
gonna.
Do
that
right
now
or
at
all,
because
this
isn't
really
production
code.
This
is
a
twitch
server,
hack.
A
Yeah
it's
a
twist
around
so
when
this
starts
up,
it's
gonna
call
update
web
have
subscriptions,
I
am
just
going
to
console.log
some
stuff
log,
creating
stream
web
hook
or
I
have
to
tell
it.
I
have
to
tell
it
what
user
right
so
there's
something
that
I
don't
understand.
I
have
to
tell
it
those
online
offline,
Street
title
changes
our
game.
A
A
A
D
A
Is
this
works
for
AP
is
unauthorized:
let's
try
user
login,
I'll
light
unauthorized
yeah,
so
I
need
a
client,
ID
I.
Think
I
already
have
that
baked
in
maybe
you're
right,
maybe
it'll
just
return
me.
The
one
I'm
currently
that
would
be
great
if
it
did
I
would
eventually
like
the
ability
to
get
other
people's
streams,
though
when
I,
which
I
know
you
can
do,
but
maybe
not
through
web
hooks,
maybe
the
web
hook,
you
only
get
your
own,
which,
which
is
okay.
A
I
can
I
can
deal
with
that
hi,
duh,
hi,
Tarzan
and
and
damn
gosh
nice
to
see
you
guys
in
chat
I'm
still
trying
to
figure
out
like
the
best
way
to
see
chat
and
do
live
coding
at
the
same
time.
So
if
you
have
any
ideas,
let
me
know,
and
once
I
get
up
to
like
50
viewers,
I
think
I'll
have
the
ability
to
like
more
abilities
to
interact
with
my
my
chatters
so
like
making
people
VIPs
and
stuff
like
that.
A
So
if
I
see
you
guys
around
a
lot,
then
I'll
probably
end
up
messing
around
that
fashion
to
okay,
so
I'm
gonna
deploy
this
and
watch
it
break
because
I
know
it's
gonna
break.
This
happens.
All
the
time
static,
I,
deleted,
twitch,
okay,
good
I'm,
a
first
attempt,
webhook
sub
I
know
this
is
not
gonna
work.
I
know
this
is
not
work.
It
never
works
the
first
time.
If
it
did
work,
here's
what
I
expect
to
happen.
The
server
would
stand
up.
A
The
I
wouldn't
try
and
load
it.
Yet,
but
after
it's
served
static
fire,
it
made
sure
to
serve
static
files.
It
would
call
update
live
book
subscriptions.
It
was
should
log
to
the
console.
So
I
should
see
this
log
and
that's
what
I
said:
that's
where
I
stopped
and
then
it
should
post
to
this
URL,
and
we
should
get
something
hitting
back
right
here
and
if
that
doesn't
happen,
something
went
wrong.
A
So
I
really
hope.
I
will
be
able
to
see
some
console
logging
coming
out
of
Heroku
as
soon
as
we
deploy
this.
Oh
you
know,
I
should
do
and
NTA
OBS
oh
come
on
Oroku
logs
tale,
and
we
now
we
can
see
it
as
it
deploys
and
we
should
be
able
to
see
those
logs
if
it
worked
so
state
change,
stopping
all
processes.
What
happened?
What
happened?
Oh
yeah,
it's
just
killing
and
restarting
error
error.
What
happened
source
creating
stream
web
hook
for
okay
and
then
delay
stream?
A
That's
unexpected!
That's
something
inside
a
library
source
on
is
not
a
function.
So
so
this
seems
like
an
event
error
of
some
kind.
So
I
can
trace
this
back
to
request
index
so
index
53
index
53.
So
it's
right
here!
It's
it's!
This
request,
post
I've
never
tried
this
before
so
I
could
be
using
the
request.
Api
wrong.
A
A
B
A
A
A
Thanks
for
watching
you
guys
to
see
five
of
you
chatting
are
you:
are
you
chatting
because
you're
interested
in
web
development
or
HTM,
because
I'm
sort
of
only
doing
web
development
at
the
moment,
I
will
do
H
I
will
use
this
to
do
HTM
stuff
in
the
future.
What
I
would
like
to
do
is
once
I
get
like
my
little.
My
tooling
server
up,
that
is,
connections
to
twitch
the
twitch
API
I
want
to
run
HTM
on
live
twitch
data
and
I
could
potentially
update
the
live
screen
that
you're.
Seeing
like
on
my
stream.
A
I
could
put
anomaly
indication
or
something
about
my
stream,
so
I
think
that
would
be
interesting
to
do.
You
guys
could
watch
me
do
that
I
might
use
a
JavaScript
implementation
of
HTM
Oh
HTM
is
hierarchical.
Temporal
memory
is
a
type
of
artificial
neural
network,
based
very
strongly
on
how
the
brain
works
in
the
neocortex,
especially
the
pyramidal
neurons
and
their
connections
between
layers
inside
the
neural
cortex.
So
it's
an
AI
technology,
but
it's
still
very,
very
new.
It's
not
in
play
right
now.
A
B
A
All
the
things
I
appreciate
it:
good
luck
on
your
home
repair,
I'm,
happy
to
be
your
background.
Noise!
It's
better
than
television
nowadays!
Isn't
it
okay,
I,
don't
want
to
pipe
I'm,
not
streaming.
All
I!
All
I
want
to
do
is
see
the
docs
for
oh,
there
is
this.
It
I
think
all
I
have
to
do
is
say
type
and
promises.
Async.
A
Requests
wait.
Let
me,
let
me
say,
post
post
post,
if
I
don't
want
to
put
I
swear,
there's
a
way
you
can.
You
can
specify
post
bit
king
mark
you're,
there
I'm
really
happy
you're
here,
mark
I.
You
must
not
be
at
work
right.
I
have
to
figure
out
how
to
I'm,
adding
you
as
a
friend,
oh
I,
can
add
friends,
I'm
going
to
add
everybody's
friends.
B
A
I'm
just
trying
to
figure
out
how
to
properly
post,
I
guess
so
yeah.
Thank
you
for
following
he
changed
styles.
I
was
weird
I
appreciate
it
I'm
the
more
followers
I
get
the
better
like
the
more
cool
things.
I
can
do
on
Twitch,
apparently
I'm
still
trying
to
like
figure
out
how
everything
works
here.
But
it's
pretty
neat.
It's
neat
stuff.
If
you're
watching
on
the
Twiggs
twitch,
they
a
P
I,
think
there's
like
a
heart
button
or
something
that's
the
that's
the
one
that
makes
me
happy.
A
Think
I
want
to
put
this
forum
data
into
my
options
like
this,
so
I'll
keep
the
headers
there
and
also
have
my
form
data
here,
and
this
is
really
the
payload
that
I'm
sending
to
the
to
subscribe
to
the
streams
topic.
I
am
for
those
of
you
who
are
lurking,
I,
don't
know
if
you're
here
mark
but
I'm
working
on
my
on
my
twitch
overlay
and
eventually
I
want
to
integrate
HTM
into
it.
A
So
I'm
hoping
I
can
because
it's
all
JavaScript
might
use
Paul's
HTM
implementation
and
try
and
do
some
live
streaming
and
analysis
on
twitch
streams.
You
know
because
I
think
that
would
be.
That
might
be
interesting.
We
also
I,
don't
know.
There's
I
have
other
ideas
of
things
that
we
could
do
live
like
HTM
visualizations.
Perhaps
that
could
run
live
and
it
would
be
a
fun
interactive
experience
to
sort
of
build
those
with
the
the
community
and
and
show
them
working
as
its
as
we're
doing
it.
A
I'm
like
I'm
super
excited
about
twitch
I,
asked
I
talked
to
Jeff
about
it
this
morning
and
he
got
really
excited
about
it.
There's
a
potential
will
stream
research
meetings
cross.
My
fingers
I'm
just
keep
keep
keep
waiting,
and
if
we
do
that
that
benefits
you
even
if
you
can't
watch
live
because
then
we
can
then
I
will
you
know
I'll
archive
them
and
you
can
come
back
and
watch
mine
YouTube
later
all
right
options,
headers
forms,
so
this
is
and
I'm
actually
going
to
add
my
URL
into
these
options.
A
So,
let's
put
it
here:
let's
put
it
in
front
of
the
headers.
So
the
URLs
first,
these
are
my
headers.
This
is
my
form
data
and
then
we
just
post
the
options
like
so,
let's
see
if
that
works.
Let's
see
if
that
gives
us
a
better
error
at
least
I'm
hoping
it
will
I'm
side
step
in
the
wall.
Don't
know
if
I'll
get
flagged
as
a
naughty
dog.
A
You
never
know
you
know.
You
never
know
good
luck
to
you
on
that.
If
you
can
do
it
on
your
phone,
I
mean
if
you're
on
your
cell
data
plan,
there's
nothing
to
do
about
that.
I
would
think,
and
a
lot
of
people
watch
twitch
on
their
phone
I
was
surprised
as
anybody
else
watching
on
their
phone
of
you.
Five
anybody
at
all
I
mean
surprising,
I,
also
hey
somebody's
in
voice.
B
D
A
Yeah
I
wonder
what
the
experience
is
for
for
places
with
low
bandwidth.
That's
why
they
say
to
always
export
to
YouTube,
because
the
there
it's
much
better
in
low
bandwidth
areas,
but
thanks
for
watching
anyway
code.
All
the
things
says
he
watches
on
his
phone.
Occasionally
to
sir
company,
provides
yeah
over
Wi-Fi
they're
gonna
filter
that
but.
D
D
A
I'll
just
call
you
Freeman,
that's
fine,
too
yeah,
okay,
I'm
about
to
deploy
something-
and
this
is
just
web
dev-
pretty
much
attempt
to
fix,
request
bug
in
webhook,
so
you
can
rate
my
get
my
get
commit
messages
if
you
want
in
the
chat,
get
push
I've
historically
bad,
get
messages
alright,
so
we
should
see
the
the
server
logs
start
moving.
Hopefully
there
won't
be
another
request,
error
or
stream
error
or
something
I
think
it's
just
because
I
didn't
form
the
request
properly.
A
B
A
A
A
Post
data
with
request
module
on
nodejs,
I
always
go
to
stack
overflow,
alright,
post
headers,
euro
body,
so
I,
don't
need
form
body,
but
the
body
is
gonna,
be
a
string,
so
I
can
make
it
anything.
I'll
just
make
the
body
Jason.
That's
probably
what
it's
expecting
is
a
JSON
body,
not
form
data.
I
bet!
That's
the
issue,
that's
typical
of
modern
api's
too.
So
this
object
that
I'm
calling
form
data
free
Oh.
A
What's
this
link
Freeman
just
sent
me
I
must
say
I'm
trusting
the
links
you
guys
are
said
how
to
have
different
quality
options
on
my
stream.
Oh,
oh,
hey!
Look
at
that,
but
it
no
there's.
That
probably
means
there
is
no
way.
So
what
I
found
that
with
twitch?
You
can't
do
this
and
also
you
can't
it's
illegal.
Well,
it's
against
the
Terms
of
Service
to
stream,
to
twitch
and
to
stream
to
any
other
serving
live
livestream
service
because
I
wanted
to
do.
A
We
do
HTM
hackers
hangout
once
a
month
and
I'd
do
it
on
Google,
Hangouts
and
I.
Initially,
it
was
looking
at
twitch
for
a
replacement
for
that,
but
and
I
wanted
to
do
one
where
I
did
stream
to
both
at
the
same
time,
because
I
think
I
technically
could
do
it.
But
apparently
it's
against
the
Terms
of
Service
transcoding
is
guaranteed
for
partners.
I
am
NOT.
A
partner.
I
will
be
an
affiliate
when
I
reached
50
followers,
which
is
pretty
soon
I'm
hoping
what
am
I
at
now.
A
Forty
something
so
I
get
to
be
partner,
45,
so
yeah,
I'm
close
so
as
soon
as
I
become
an
affiliate.
I
will
get
some
benefit
of
that
apparently,
but
a
partner
I
think
you
have
to
have
500
followers
or
something
like
that.
I
can't
remember
it's
it's
way
out
there:
okay,
so
I'm
gonna.
So
my
headers
looks
good
my
bottom
eye,
your
L
looks
fine
46,
oh
right,
46,
only
four
more
to
go.
I
promised
myself.
I
wasn't
gonna,
be
one
of
those
twitch
streamers.
That's
always
like
Oh.
B
A
B
A
The
headers
should
be
okay,
so
I'm
just
hitting
post
yeah
post
those
options.
You
know
what
let's
get
rid
of
the
options.
Let's
just
be
explicit
about
this.
You
don't
need
a
variable
if
we
don't
variable
and
we'll
just
post
and
dump
everything
in
there.
So
it's
all
in
one
place
all
right.
Let's
try
this.
Let's
try
this
and
see
what
happens.
Hey,
Mark
thanks
one
more
I
appreciate
it.
I,
don't
know
how
delayed
was
that
like
how
long
ago
did
you
click
the
button?
I
know
it's
pretty
delayed.
A
So,
ideally,
my
the
server
I'm
working
on
is
going
to
catch
those
those
events
and
I'll
be
able
to
do
something
completely
custom
on
screen,
so
that
could
be
fun
a
lot
of
crazy
things.
Other
people
are
doing.
Ok,
I'm
deploying
I'm
gonna,
deploy
it
I
could
basically
just
run
the
same.
Few
commands
I've
been
running,
get
add,
git,
commit
attempt
to
fix,
and
then
what's
the
next
one
get
push
origin
get
pushed
or
okay
master.
A
If,
if
you
were
seriously
doing
web
program,
I
think
I've
said
this
before
I
used
to
be
a
professional
web
developer
and
I
would
I
would
make
prototypes
like
this
all
day
long,
but
this
is
not
how
you
would
build
a
production
web
application
I'm
just
letting
you
know
that
you
know
I
make
a
lot
of
little
tools,
I'm
a
tooling
person,
but
this
is
not
a
production.
I
mean
you'd.
Have
you
have
to
harden
things
a
bit
more?
A
A
A
Yeah
and
also
test
with
different
browsers,
it's
a
meme,
my
kids
would
probably
get
it.
My
kids
embarrasses
me
with
memes
all
the
time.
I
was
at
a
sixth-grade
science
camp
last
week,
Skyrim,
okay,
cool
anyway
I
was
at
a
sixth-grade
science
camp
last
week,
and
the
amount
of
memes
I
was
exposed
to
was
just
intense
I
had
no
idea
that
there
were
so
many
memes
floating
through
the
brains
of
sixth
graders
and
some
that
I
had
never
heard
of.
A
Before
some
that
I
mean
they
would
go
nuts
over
because
the
counselors
you
know
the
camp,
they
call
him
natural
ists.
Why
isn't
it
slogan?
Okay,
something
something's
wrong
and
I'm,
not
getting
I'm,
not
getting
that
payload
I
was
looking
for.
I
was
I,
tried
to
log
out
it
says
creating
stream
web
hook,
but
it
doesn't
look
like
it
ever
received
anything
back.
So,
what's
up
with
that
anyway,
these
natural
ists
knew
the
kids
so
well.
They
knew
all
the
memes
they
would
respond
to.
A
A
A
So
that's
a
meme
I,
don't
know
how
it
happened
or
who
created
it
or
why
these
things
even
occur,
but
that
the
kids
went
nuts
over
just
referring
to
big
chunga's,
these
sixth
graders,
it's
crazy,
the
children,
the
children,
understand
the
Internet
much
better
than
the
adults
in
in
human
society
right
now,
and
and
if
you
don't
believe
that
you
better
take
their
take.
The
blue
pill
is
that.
A
A
A
This
should
last
time
it
did
not
have
a
port
there's,
no
port
there.
Okay,
what's
why
did
the
last
time
it
open
with
a
port?
That's
odd,
okay!
So
this
worked
now.
Did
my
console
get
so
I
still
didn't
get
a
response
from
the
web
server,
so
something
still
must
be
wrong
or
else
I'm.
My
response
URL
is
wrong
and
so
I'm
just
gonna
hit
it
right
now.
I
should
be
able
to
just
put
it
right
here
if
I
put
the
URL
right
and
it
should
at
least
do
something
you
should
have
logged
it
did.
A
A
A
A
A
A
So
at
least
I'm
hoping
I'm
just
going
to
verify
that
the
webhook
URL
that
I'm
attempting
to
request
make
a
request
to
is
valid
and
then,
if,
if
I
can't
tell
I'm
gonna,
send
a
crow
request
to
it
and
make
sure
I
get
back
some
response.
I
should
get
a
response
that
says
invalid
request
or
something.
A
Here
we
go
and
then
once
I
do
get
this
working
we'll
be
able
to
update
all
this
stuff
on
the
bottom
row.
So
it's
not!
So
it's
not
wrong
because
right
now,
it's
totally
wrong
extreme
in
18
minutes
now.
I
think
I
can
fix
this
if
I
like,
if
I
mess
with
the
stream
like
if
I
hide
it
and
bring
it
back
or
something
yeah,
yeah
yeah,
so
it'll
rerender
it
and
it
will
reload
it.
A
A
A
D
D
A
D
A
A
A
Where
did
ya?
What
is
this?
Is
this
a
console.log
I?
Don't
know
why
this
is.
This
may
be
something
that
Heroku
is
doing.
Probably
or
oh
I
bet
it's
it's
something
I'm
doing
when
I
start
the
server
right
here,
yeah!
Oh,
that's
where
the
port
came
from
that
that's
where
this
is
coming
from.
Okay,
so
it's!
This
is
just
popping
up
once
the
static
HTML
or
the
static
file
server
is
online
and
I
am
still
so.
A
A
I
just
want,
like
it
quick
I,
think
I
can
just
dude
curl
that
what's
there's
one
I
always
use
girl,
something
because
it
headers.
Why
isn't
this
working
I'm
a
really
bad
at
like
network
stuff
I've,
always
been
bad?
Oh,
that's!
Not
what
I
want?
That's,
not
what
I
want
at
all.
Let's
just
do,
let's
just
curl
that
lets
you
it
okay
to
know
what
option
I'm
supposed
to
be
using
with
curl
to
show
the
headers
curl
show
headers
how
to
display
request
headers
with
command
line,
show
HTTP
response
header
using
curl.
A
A
A
Well,
it's
probably
a
problem
on
my
side.
Honestly,
it's
just
I!
Don't
it's
not
with
my
request
handler
it's
a
problem.
It
still
seems
like
a
problem
with
the
requests
that
I'm
sending
in,
but
I
can't
figure
out
what
I
mean
it
should
give
me
an
error
back
I
should
when
I
send
this.
Oh
I
know
what
I
should
do.
This
is
obvious
to
me
now:
I
need
to
I'm
gonna
post
this,
but
I
also
want
to
get
the
response
back
and
I'm
not
getting
the
response
back.
A
A
B
A
A
A
C
A
A
At
least
we
have
a
direction
and
I'm
pretty
sure.
I
can
test
this
just
by
running
it
boom
bad
request.
Yes,
so
let's
get
this
working
so
that
we
get
that
web
of
registered
and
then
we
can
test
it
after
we
deploy
it.
The
extra
views
are
not
necessary,
though
curl
used
for
both.
It
shows
the
headers
and
responds
okay,
cool
good
to
know.
Thank
you.
Thank
you
very
much.
A
A
Yeah
absolutely
once
I
get
it.
This
is
the
hard
part.
The
hard
part
is
established
honestly,
the
hard
part's.
Seven
things
go
super
fast.
Once
you
get
this
plumbing
done,
you
can
do
all
kinds
of
stuff.
So
that's
the
fun
part
you're
watching
the
the
sausage
get
made
right
now.
Once
once
we
get
these
communication
channels
established,
we'll
be
able
to
do
cool
stuff.
I
still
haven't
figured
out
because
I
want
to
run
an
HTM.
I
could
run
HTM
on
this
server.
A
I
still
I
need
to
probably
have
some
state
which
I
might
just
hold
in
memory.
I'll,
probably
just
hold
state
in
memory,
but
I
hate.
What
I
will
see
we'll
see?
Those
are
future
questions.
Hub
mode
is
required.
So
now
I
don't
quite
understand.
My
body
is,
should
have
hub
mode,
let's,
let's
just
pull
this
out
and
make
sure
that
the
stringify
is
working
properly.
A
And
I'm
also
going
to
a
Falco
yeah.
What
do
you
think
about
that?
That's
what
I'm
working
on
was
streaming.
It's
not
updating
live,
though
so
I'm
working
on
the
updating
live
part.
When
the
server
stands
up.
It
goes
to
the
twitch
API
and
it
gets
my
stream
info
and
it
puts
it
on
the
bottom
of
the
screen
and
then
it
doesn't
update
it
ever
so.
What
I'm
working
on
now
is
when
the
server
stands
up.
A
Mcu
dev
kits,
what's
MCU
yeah
I,
think
it's
pretty
much
like
that.
With
a
lot
of
engineering
work,
especially
programming
type
work,
you
get.
You
have
to
do
all
this
plumbing
to
get
to
a
point
like
where
you
have
a
platform
that
you
could
do
the
cool
stuff
with
so
I'm
still
trying
to
figure
out
why
my
Jason
body
isn't
being
decoded,
or
it's
telling
me
that
hub
mode
is
required,
but
I
have
a
hub
mode.
So
it
must
be
something
with
my
Jason
encoding.
I.
A
C
A
B
A
A
Typically
what
you
used
to
have
to
do
before
you
had
these
libraries
is
you
have
to
create
your
content
body
and
then
you
had
to
put
in
the
header
how
long
it
was
or
how
big
it
was,
or
else
the
HTTP
server
wouldn't
wouldn't
process
it
properly,
but
I
think
with
request.
Now
you
don't
have
to
do
that.
But
I
do
think
that
perhaps
let
me
look
back
at
the
request.
Doc's
streaming
forms.
A
A
So
that's
what
I
thought
the
content
type
is
usually
automatically
added.
If
it
recognizes
oh,
you
could
just
put
Jason
okay
Jason
and
if
you
put
Jason,
you
don't
have
to
add
the
cop
that
that
alright,
let's
try
this
brilliance
bad
request
hub.
That
mode
is
required.
Okay,
what?
What?
What
okay?
Maybe
maybe
there
is
no
hub?
Maybe
maybe
that's
just
maybe
that's
just
route,
no
okay,
that
doesn't
make
sense
to
me.
Then
I.
A
This
end
point
web
hooks
hub
I,
am
sending
it
Jason
body
parameters
hub,
damn
gosh
forum
hub.
Oh,
you
really
think
that
they
should
be
that
explicit
about
it.
You
might
be
right,
okay,
let's
try
that
good
idea.
Let's
try!
It
I
think
we
can
do
this
with
what
I
just
had
here
and
but
we'll
just
we'll
say,
AB
dot.
This
is
a
weird
way
to
do
it,
though
I
mean
a
weird
way
to
document
it.
I
would
have
been
very
explicit
about
this
at
this
for
the
case,
because
it
is
not
obvious
to
me.
A
A
It
says
for
topic
URL
for
the
topic
to
subscribe
to
or
unsubscribe
from
topic
maps
to
a
new
twitch
API
endpoint.
We
support
these
topics,
stream
change,
which
is
the
one
I'm
going
for,
and
so
I
thought.
This
is
the
topic
URL
and
he'll
extremes,
he'll,
extremes,
yeah,
API,
twitch,
TV,
he'll,
extremes,
bad
request,
hub
topic,
unsupported
topic!
Well,
right,
I,
don't
know,
I
am
Not
sure
I
could
try
it.
Maybe
something
else.
Maybe
I
do
need
to
add
a.
A
A
B
A
A
No,
no!
No
here
it
is
okay.
This
subscribe
to
unsubscribe
from
events
end
point:
that's
that's!
That's
the
important
thing,
or
now
this
hub
topic
URL
for
the
topic
to
subscribe
to
or
unsubscribe
from
topic,
Maps
to
a
new
twitch
API
endpoint.
What
does
that
mean
a
new
endpoint?
Why
is
why
new?
What
is
new
about
it.
B
A
User
follows
and
each
one
of
these
topics
has
query
parameters,
so
you
must
add
the
query
parameters.
You
must
add
the
query
parameters
to
the
request.
Let's
see
I
should
be
able
to
do.
This.
I
should
be
able
to
say
streams,
user,
login,
rhyolite
and
it's
unauthorized,
but
if
I
provide
a
valid
client
ID,
it
should
not
be
so.
Why
can't
this
be
that.
A
A
A
A
Think
that's
just
the
count
right,
the
first
X
number
of
followers,
but
in
this
case,
if
you're
going
to
subscribe
to
a
web
hook,
it
has
to
be
one
so
in
the
case
of
the
stream,
the
stream
one
down
here
required,
oh
I,
have
to
provide
the
user
ID.
I
can't
do
this
with
the
user
login,
so
I
just
need
to
find
my
user
ID,
which
I
can
do
because
I
actually
had
a
function
to
do
this.
You
know
what
I'll
do
I'll
do
it
in
the
client,
because
it's
probably
going
to
be
easier
check.
A
A
A
Localhost
5,000
and
it
should
be
in
the
console,
failed
to
load.
Oh
no,
it
crashed
well,
crashed
am
I,
not
I'm,
not
running
it.
Hold
on
I
was
running
it
in
in
here
right.
Okay,
this
bad
request.
Okay,
bed,
request
home
topic,
unsupported
topic,
oh
say
so.
It
died
when
it
did
this
so
I
just
did
the
mixture.
It
doesn't
die.
Okay,
okay,
so
down
so
down
I'm,
just
gonna
not
update
whip
up
subscriptions.
For
this
moment,
it's
just
so
I
can
get
the
by
a
darn
user.
Id
oh,
come.
A
A
A
Okay,
here
we
go
get
user
and
we
are
calling
we've
got
our
hyo
we're
calling
the
URL
twitch
okay.
So
that
should-
and
we
should
end
up
in
here
in
this
twitch
proxy
and
I'm
gonna
start.
Maybe
I
should
start
logging
sort
of
this
proxy
that
we're
doing
here,
the
Oh
Falco.
The
I
realized
that
the
problem
was
I
can't
use.
My
user
login
I
have
to
use
a
user
ID,
which
might
be
which
wasn't
obvious
until
I
read
the
docs
more
carefully.
A
A
A
A
I'm,
providing
a
user
login,
but
maybe
I'm
just
using
the
wrong
term
for
users
user
follows
user;
no,
no!
No!
No,
no
I
want
the
actual
reference
to
get
users
get
users.
Users
see
it's
just
ID
or
login.
That's
my
problem!
Okay!
So
if
I'm
gonna
do
get
users
I
have
to
write
it,
not
a
user
login,
just
login
right,
okay,
I
think.
A
A
A
A
A
A
A
A
So
what
happens
when
I
register
it
again,
I
accepted
accepted
accepted
so
here's
the
question
how
many
web
hooks
do
I
have
now
it's
a
good
question:
I,
don't
know
how
many
subscriptions
do
I
have
one
or
you
know
five,
ten.
Let's
deploy
this
and
see
what
happens
when
I
change,
my
stream,
that's
gonna,
be
the
big
question.
All
right,
I
could
get
if
I
get
four
requests
because
I
just
made
for
web
hooks,
then
I'll
know
something
about
the
API
get
add
index
static.
What's
going
on?
A
Don't
know
what
I'm
I
don't
know
why
hub
challenge?
Oh
it's
the
challenge.
They
said
they
were
gonna.
Give
me
write
so
I
have
to
once
they
hit
that
URL
I
have
to
respond
with
this
code.
That's
what's
going
on
right
now,
so
they're
not
even
creating
the
web
box.
These
are
all
for.
These
requests
are
the
different
times.
A
I
press
I
hit
the
button
okay,
so
this
is
good,
so
I
know
what
I'm
gonna
get
back
I'm
getting
get
a
get
a
challenge
hub
challenge,
so
I,
don't
even
I'm
not
even
going
to
deploy
yet
I'm.
Just
well
I
think
I
did
no
I'm,
not
I'm,
not
done
I,
know
I'm
gonna
get
a
challenge.
I
know
what
its
gonna
look
like.
There's
gonna
be
something
called
hub
challenge.
He
that
comes
to
this.
A
And
that
looked
like
it
was
a
query,
not
a
body,
so
the
challenge
is
going
to
be
in
the
query
string.
So
let
code
equal,
rect,
weary
and
hub
challenge,
alright
and
then
I
have
to
send
it
back
and
then
I
have
to
send
it
back
to
respond
to
it
properly.
I
need
that
back
to
the
docks.
How
am
I
gonna?
Do
this
sub
sub
scribe?
A
A
Only
want
to
create
one
webhook
yeah.
No,
let's
deal
with
that
later
I.
What's
what
I'm
afraid?
What
I
think
it's
probably
gonna
happen
is
I'm
gonna
be
I'm,
gonna
have
a
bunch
of
web
hooks,
and
the
next
thing
I'm
gonna
have
to
do
is
write
a
little
code
that,
as
I
up
the
first
thing
I
do
before
updating
web
subscriptions
is
to
get
all
my
web
web
hosts
scription
x'
that
are
currently
existing
and
delete
them
all
before
I
register.
A
That's
so
basically
this
server
or
just
confirm
that
it
exists
and
not
create
one.
You
know
we
could
do
that
too,
but
I
have
a
feeling.
We're
gonna
have
a
bunch
of
web
hooks
flying
around
and
that's
what
happens
when
you
do
this
add
index
static,
commit
to
many
others?
What
did
I
just
do?
What
do
I
do?
B
A
A
A
A
B
A
A
Oh,
do
I
have
to
say
status,
OH,
that's
what
that's
something
I
might
have
to
give
it
a
specific
status,
yeah,
yeah
and
HDTV
success
response
code,
so
I'll
specific
well,
it
should
do
that
anyways
right,
but
I'll
just
be
explicit
about
it
and
I'll
say:
status,
200
status,
200,
Jason,
whoops,
my
in
the
right
place
is
this:
where
I
want
to
do
it?
No!
No!
No.
C
A
A
Someday
this
won't
be
a
lie.
The
six
viewers
won't
be
a
lie
anymore.
There's
only
two
at
the
moment,
I
can
see.
I
think
you
can
chat,
you
can
see
who
they
are
a
couple
of
bots
in
there
falco
freeman
mark
and
some
bots
that
are
always
in
there.
Someone
called
positivity
bots.
That's
always
there
I,
don't
know
what
that
is.
A
A
That
might
have
worked,
I
didn't
put
any
logging
in
which
is
unfortunate,
but
I
think
it
would
have
so
so
I
need
to
figure
out
first
of
all,
because
this
is
this
is
the
web
hook
or
this
is
the
URL.
It's
gonna
get
hit
every
time.
There's
a
stream
update,
so
I
need
to
understand
I
need
to
catch
the
payload
and
decide
what
type
of
payload
it
is.
First.
A
Subscription
challenge,
which
is
what
how
we
deal
with
this
so
I'll,
say
if
well,
let's
pull
the
query
out.
First,
let's
pull
the
query
out.
First,
let
Q
equal
request,
query
and
then
we
can
just
use
q
If
Q
hub
challenge.
Then
we
know
that
this
is
a
challenge
request
and
we're
going
to
do
this
else.
Ii
we're
gonna
process,
the
payload
else,
I'm
just
gonna,
console.log,
query
and
console.log
the
body:
let's
go:
let's
do
the
raw
body
because
I'm
not
sure
what
it's
gonna
be
in.
A
A
A
A
A
A
B
B
A
A
Okay,
let's
see
what
happened
when
we
did
that
creating
web
stream,
they
were
creating
creating
stream
web
hook
with
a
subscription
validated
and
then
did
I
not
put
any
logs
in
the
I
did
if
there's
a
challenge,
I
did
yes
and
PFR
in
the
program
list.
Oh
yeah.
Definitely
definitely
I
don't
have
any
yes
records,
but
I
should
pick
some
up
because
they're
usually
cheap.
The
problem
is
they're,
usually
in
really
bad
condition,
but
the
next
time
I
see
a
yes
record.
A
A
A
A
A
B
A
Is
it
even
worth
doing
why
not?
Now?
This
is
a
totally
server-side
thing.
There's
no
reason
for
me
to
push
it
through
the
proxy
I'll.
Just
do
it
we'll
do
it
before
we
update
our
web
hooks
descriptions,
I'll
call
get
existing,
subs,
okay
and
then
we'll
just
subs
will
be
the
date
on
the
callback
and,
like
I,
said
I,
don't
use
promises
very
often
ever
read
ever
I
would
I'm,
probably
just
an
old
head
JavaScript
programmer
at
this
point,
but
I
never
liked
promises.
I
mean
I'll,
make
them
every
once
in
a
while.
A
A
A
B
A
B
A
C
A
So
these
must
be
registered
by
client,
ID,
so
I
assume
using
a
client
ID
I
can
register
a
bunch
of
webhook
subscriptions
to
different
URLs,
and
this
should
return
me
all
of
them.
I
assume
they're
not
identified
by
the
year
rather
than
if
I'd
been
a
client
ID
animal,
so
we're
gonna
and
I
should
be
able
to
run.
This
I
should
be
able
to
run
this
locally
and
then
just
not
do
this
right.
A
There's
a
whole
lot,
o,
let's,
let's
debug.
This
is
why
I
like
one
thing,
that's
nice
about,
that
is
okay
arguments.
What
do
we
got
here?
We
have
an
error
which
is
no
the
raw
body.
Unauthorized
401
must
provide
valid
app
token,
an
app
token
I
have
an
app
token.
I
have
an
app
token,
pretty
sure
so
getting
subscriptions
app.
It
spoken,
nothing,
nothing!
Okay,
token!
A
A
A
I
already
have
one
I
thought:
I
know:
I
have
one
doing
that
not
over
you
look
here
this
there's
an
application
that
says
this
is
the
one
I
created
for
my
overlay
that
I'm
working
on
I
have
a
client
ID.
Is
the
client
secret,
the
app
token
pastor,
the
token
Australian
poison
Tina?
You
must
keep
this
confidential
past
two
authorization
endpoints
to
identify
your
application,
so
it
must
be
a
client
ID.
It
must
be.
The
client
and
I
must
I'm
sending
it
as
a
client
ID,
but
I
will
also
send
it
in
another
way.
A
A
C
C
A
Of
claims
about
the
end-user
user
access
tokens
allow
your
app
to
make
requests
on
their
behalf
if
your
application
uses
twitch
for
login
app
access.
So
this
is
what
I
want
authenticate
your
app
and
allow
it
to
access
resources
that
it
owns.
Since
app
access
tokens
are
not
associated
with
a
user,
they
cannot
be
used
with
endpoints
that
require
user
authentication.
A
Ok,
some,
which
is
this
one
shouldn't
I,
don't
think
web
hooks
should
require
user
authentication.
Some
twitch,
API
endpoints
require
application,
authentication
I
think
that's
my
problem.
I'm
using
a
client,
ID!
Well,
the
client
ID
is
associated
with
my
app
access
tokens,
get
client
credentials,
not
user
credentials.
They
enable
you
to
make
secure,
API
requests
that
are
not
on
behalf
of
a
specific
user.
A
A
For
server-to-server
API
Crescent
should
never
be
included
in
client
code.
Okay,
so
I
need
to
set
it
as
an
environment.
Variable
bearer
comes
across
of
sending
user
access
and
access
token
did
not.
So
how
do
I
get
it?
It
must
be
the
secret,
it
must
be.
The
secret
see
here
is
the
client
secret
and,
and
are
you
sure
you
want
to
jail,
yeah
I?
Guess
there's
the
new
secret,
but
you're
not
I'm,
not
supposed
to
show
it
to
you.
So
you
can't
see
that
secret
I'm
gonna
generate
a
new
one.
A
A
Alright,
so
I've
got
this
now
if
I
reveal
them
yeah,
it
does
reveal
them.
Okay,
anyway,
I
have
one
called
app
secret:
okay,
as
a
configuration
it's
an
environment
variable
essentially,
and
so
I
should
be
able
to
get
to
that
from
this
code.
So
I've
got
my
client
client
ID.
Let
app
secret
I'm,
gonna,
call
it
that
and
I'm
gonna
say:
env
I
forgot
how
to
do
this.
It's
process
it's
process,
DNV,
app
secret,
okay,.
A
A
A
A
Okay,
I
didn't
get
the
environment
variable
the
right
way,
no
js'
processed
that
in
the
environment
variables.
How
do
you
do
it?
I've
done
this
four
million
times
just
show
me.
The
line
show
me
the
line
process,
Ian
V,
dot
port,
so
it's
just
lowercase
in
the
pretty
sure,
and
then
I
could
just
do
dot.
Instead
of
it
doesn't
matter
it
just
treats
it
like
a
string
anyway.
All
right,
try
again
all
right.
The
error
is,
must
provide
valid
app.
Okay,
he's.
B
A
A
A
A
A
A
B
A
B
B
A
A
A
A
A
Can
I
login
with
my
existing
Google
I
think
my
new
meant
account
this
I
like
this
about
let's
make
this
rhyolite
yay
I
like
this
discourse,
because
you
can
any
discourse
site.
You
basically
got
your
profile
automatically.
So
I
noticed
a
new
point
for
getting
web
of
subscriptions.
The
response
already
tells
you
what's
wrong.
The
endpoint
requires
you
fast
and
app
access
to.
Is
he
doing
that
he's
he's
sending
a
client
ID
thanks
I'll,
give
it
a
try.
All
those
examples.
Activation
is
client
ID,
not
an
app
token,
that's
cool!
A
What
I
saw
to
getting
an
app
access,
token
doesn't
work
so
the
example
and
the
documentation
couldn't
do
with
updating
to
get
authorized
bearer
token,
rather
than
client
IDs.
So
I
already
tried
this
with
that.
Using
the
client
ID
and
it
didn't
work,
didn't
I
I
mean
I'm.
Pretty
certain
I
tried
this
with
the
client,
ID
and
I.
Don't
think
it
worked,
let's
see,
yeah
that
didn't
work
and
the
payload
looked
right.
A
A
Let's
try
and
use
the
app
secret
now
this
is
sort
of
infuriating
must
provide
a
valid
client,
ID
or
Roth
token.
I
am
totally
providing
a
valid
client.
Id
I.
Did
it
right
here?
Okay,
so,
let's
take
out
the
authorization
entirely
just
send
now,
it
says,
must
provide
a
valid
app
token.
Oh,
this
is
nuts.
This
is
making
me
crazy
twitch.
A
A
A
A
Your
application
uses
a
server,
can
securely
store
a
client
secret
and
can
make
server
to
server
requests.
Yes,
that's
a
good
authentication
flow,
so
that's
called
authorization
code
flow,
which
is
what
I'm
trying
to
do.
I
probably
want
to
do
the
OAuth
authorization
code
flow.
Maybe
this
is
what
I
need
to
do:
send
the
user.
You
want
to
authenticate
to
your
registered,
redirect
URI
I
hate
a
lot.
A
Okay,
then
an
authorization
page
will
ask
the
user.
This
is
not
what
I
want
to
do.
This
is
not
I.
Do
not
want
to
confirm
I,
don't
want
to
use
OAuth
I
am
the
user.
This
is
not
like
a
user
control
flow
thing.
What
is
what
is?
Oh,
I
DC
send
the
user.
You
want
to
authenticate
to
your
registered
I'm,
not
trying
to
authenticate
anyone.
I
just
want
my
application
ID
to
to
work.
A
A
A
A
C
A
A
Was
what
I
was?
How
do
I
find
that
now
there
is
way.
A
A
Okay,
so
oh
I,
three
direct
URL
I,
don't
even
I'm,
not
even
gonna
use
this
I
don't
want
to
redirect
anyone
anywhere
cuz.
This
is
all
gonna
be
server-side,
so
I,
don't
think
it
matters.
I
hope,
I,
don't
want
anything!
They're!
Calling
this
a
broadcaster
suite
I've
got
my
client
ID
I
might
create
a
new
secret.
I
must
save
to
save
it.
I
guess
it
is
saved.
A
A
They're
saying
they're
trying
to
do
curl,
you
know
what
I'm
gonna
do
this
I'm
going
to
try
this
curl
I'm
gonna
do
this
from
curl.
It
makes
the
most
sense
at
this
point
in
time
and
let's
see
what
happens
so
I'm
gonna
put
my
client
ID
in
here.
It's
just
the
right,
twitch
yeah.
He
looks
web
hook
so
client
ID,
and
this.
A
A
A
A
A
Once
every
60
days,
thank
you
so
I'll
probably
figure
out
real
quick.
Whether
I
need
to
do
this
or
not,
and
then
write
some
code
to
do
it
conditionally
client
secret,
which
is
the
what
I
called
up
there,
an
app
secret
so
just
leave
that
grant
type
client
credentials
what
it.
What
are
the
client
graduals
grant
type
must
be
client
credentials.
What
does
that
mean?