Skip to content

Commit

Permalink
examples
Browse files Browse the repository at this point in the history
  • Loading branch information
wookay committed Nov 10, 2019
1 parent 0aaeacf commit 2a95600
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 10 deletions.
1 change: 1 addition & 0 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ version = "0.1.0"
[deps]
HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3"
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
JSON2 = "2535ab7d-5cd8-5a07-80ac-9b1792aadce3"

[extras]
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
Expand Down
15 changes: 14 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# TwitchTools.jl
# TwitchTools.jl

| **Build Status** |
|:----------------------------------------------------------------:|
Expand All @@ -7,6 +7,19 @@

https://dev.twitch.tv/docs/

```julia
using TwitchTools.API
client_id = get(ENV, "TWITCH_CLIENT_ID", "")
clip = API.get_clip(client_id, "LittleGrossSoybeanHassanChop")
@info clip
@info clip.data[1].broadcaster_name

using TwitchTools.APIv5
clip = APIv5.get_clip(client_id, "LittleGrossSoybeanHassanChop")
@info clip
@info clip.broadcaster.display_name
```


[travis-img]: https://api.travis-ci.org/wookay/TwitchTools.jl.svg?branch=master
[travis-url]: https://travis-ci.org/wookay/TwitchTools.jl
Expand Down
10 changes: 10 additions & 0 deletions examples/clips.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
using TwitchTools.API
client_id = get(ENV, "TWITCH_CLIENT_ID", "")
clip = API.get_clip(client_id, "LittleGrossSoybeanHassanChop")
@info clip
@info clip.data[1].broadcaster_name

using TwitchTools.APIv5
clip = APIv5.get_clip(client_id, "LittleGrossSoybeanHassanChop")
@info clip
@info clip.broadcaster.display_name
13 changes: 7 additions & 6 deletions src/API.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,26 @@ module API # TwitchTools

using ..TwitchTools: HTTP, TWITCH_API_SERVER, http_action
using Dates: Dates, Date, DateTime, DateFormat
using JSON2

const RFC3339 = DateFormat("yyyy-mm-dd\\THH:MM:SSZ")

function get_clip(client_id::String,
clip_id::String ;
endpoint::HTTP.URI=TWITCH_API_SERVER,
action::Function=http_action)::Vector{UInt8}
endpoint::HTTP.URI = TWITCH_API_SERVER,
action::Function = http_action)
headers = ["Client-ID"=>client_id]
query = Dict{String,String}("id" => clip_id)
resp = action(endpoint, "/helix/clips", headers, query)
resp.body
data = JSON2.read(IOBuffer(resp.body))
end

function get_clips_by_broadcaster(client_id::String,
broadcaster_id::Int,
started_at::Union{Nothing, Date, DateTime},
ended_at::Union{Nothing, Date, DateTime} ; # started_at + 1 week
endpoint::HTTP.URI=TWITCH_API_SERVER,
action::Function=http_action)::Vector{UInt8}
endpoint::HTTP.URI = TWITCH_API_SERVER,
action::Function = http_action)
headers = ["Client-ID"=>client_id]
query = Dict{String,String}("broadcaster_id" => string(broadcaster_id))
if !isnothing(started_at)
Expand All @@ -30,7 +31,7 @@ function get_clips_by_broadcaster(client_id::String,
query["ended_at"] = Dates.format(ended_at, RFC3339)
end
resp = action(endpoint, "/helix/clips", headers, query)
resp.body
data = JSON2.read(IOBuffer(resp.body))
end

end # TwitchTools.API
7 changes: 4 additions & 3 deletions src/APIv5.jl
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
module APIv5 # TwitchTools

using ..TwitchTools: HTTP, TWITCH_API_SERVER, http_action
using JSON2

function get_clip(client_id::String,
clip_id::String ;
endpoint::HTTP.URI=TWITCH_API_SERVER,
action::Function=http_action)::Vector{UInt8}
endpoint::HTTP.URI = TWITCH_API_SERVER,
action::Function = http_action)
headers = ["Client-ID"=>client_id, "Accept"=>"application/vnd.twitchtv.v5+json"]
resp = action(endpoint, "/kraken/clips/$clip_id", headers)
resp.body
data = JSON2.read(IOBuffer(resp.body))
end

end # TwitchTools.APIv5

0 comments on commit 2a95600

Please sign in to comment.