0.0
No commit activity in last 3 years
No release in over 3 years
Ruby interface to TwitCasting API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.15
~> 10.0
~> 3.0

Runtime

~> 0.9
~> 2.1
 Project Readme

Gem Version Build Status Coverage Status

twicas_stream

twicas_stream provides simple Ruby access to TwitCasting APIv2(β).

Installation

$ gem install twicas_stream

Documentation / Help

Preparation before using

Before using twicas_stream, we need to get access token in order to access TwitCasting API (APIv2). Flow is as below.

  1. Registration
    Create new application, getting access token need 'ClientID' and 'ClientSecret'.
  2. Get Access Token
    TwitCasting API (APIv2) provides two types of authorization flow. For more information, please refer to API Documentation (APIv2).

Usage

Get Movie Info

Get comments of movie id which you set

# (*) following data are just example

TwicasStream.configure do |request_header|
	#request_header.api_version
	# => default is '2.0'
	#request_header.accept_encoding
	# => default is 'application/json'
	# Above value don't need to change, default setting must be enough.

	request_header.access_token = 'xxx'
	# => you must set access token before using.
end

movie_id = '189037369'
api = TwicasStream::Movie::GetMovieInfo.new(movie_id)
movie_info = api.response[:movie]

p movie_info[:title]
# => 'ライブ #189037369'
p movie_info[:subtitle]
# => 'ライブ配信中!'
p movie_info[:current_view_count]
# => 20848
p movie_info[:total_view_count]
# => 20848
p api.response[:tags]
# => ['人気', 'コンティニュー中', 'レベル40+', '初見さん大歓迎', 'まったり', '雑談']

Get Comments

Get comments of movie id which you set

# (*) following data are just example

TwicasStream.configure do |request_header|
	request_header.access_token = 'xxx'
end

movie_id = '189037369'
api = TwicasStream::Comment::GetComments.new(movie_id)
comments = api.response[:comments]

p comments.first[:from_user][:name]
# => 'ツイキャス公式'
p comments.first[:from_user][:screen_id]
# => 'twitcasting_jp'
p comments.first[:message]
# => 'モイ!'
p comments.first[:created]
# => 1479579471
# (**) unix timestamp

For more usage, please refer to 'examples' directory. There are some example source code in there, and help you to understand more.

Support Request List

Current version supports following requests.

Classification Request Support
User Get User Info Support
Verify Credentials Support
Live Thumbnail Get Live Thumbnail Image Support
Movie Get Movie Info Support
Get Movies by User Not Support
Get Current Live Not Support
Comment Get Comments Support
Post Comment Not Support (*)
Delete Comment Not Support (*)
Supporter Get Supporting Status Support
Support User Not Support (*)
Unsupport User Not Support (*)
Supporting List Support
Supporter List Support
Category Get Categories Support
Search Search Users Support
Search Live Movies Support

(*) 'POST/DELETE/PUT' HTTP method. Current version supports 'GET' method only.

Response Data Structure

Response data of 'Get User Info' is as below.

{
	:supporter_count => 10,
	:supporting_count => 24,
	:user => {
		:id => "182224938",
		:screen_id => "twitcasting_jp",
		:name => "ツイキャス公式",
		:image => "http://202-234-44-53.moi.st/image3s/pbs.twimg.com/profile_images/613625726512705536/GLlBoXcS_normal.png",
		:profile => "ツイキャスの公式アカウントです。ツイキャスに関するお知らせなどを投稿します。なお、お問い合わせは https://t.co/4gCf7XVm7N までお願いします。公式Facebookページhttps://t.co/bxYVwpzTJB\n公式Instagram\nhttps://t.co/Bm2O2J2Kfs",
		:level => 24,
		:last_movie_id => "189037369",
		:is_live => false,
		:supporter_count => 0,
		:supporting_count => 0,
		:created => 0
	}
}

'Get Movie Info' is as below.

{
	:movie => {
		:id => "189037369",
		:user_id => "182224938",
		:title => "ライブ #189037369",
		:subtitle =>  "ライブ配信中!",
		:last_owner_comment =>  "もいもい",
		:category =>  "girls_jcjk_jp",
		:link => "http://twitcasting.tv/twitcasting_jp/movie/189037369",
		:is_live => false,
		:is_recorded => false,
		:comment_count => 2124,
		:large_thumbnail => "http://202-230-12-92.twitcasting.tv/image3/image.twitcasting.tv/image55_1/39/7b/0b447b39-1.jpg",
		:small_thumbnail => "http://202-230-12-92.twitcasting.tv/image3/image.twitcasting.tv/image55_1/39/7b/0b447b39-1-s.jpg",
		:country => "jp",
		:duration => 1186,
		:created => 1438500282,
		:is_collabo => false,
		:is_protected => false,
		:max_view_count => 1675,
		:current_view_count => 20848,
		:total_view_count => 20848,
		:hls_url => "http://twitcasting.tv/twitcasting_jp/metastream.m3u8/?video=1"
	},
	:broadcaster => {
		:id => "182224938",
		:screen_id => "twitcasting_jp",
		:name => "ツイキャス公式",
		:image => "http://202-234-44-53.moi.st/image3s/pbs.twimg.com/profile_images/613625726512705536/GLlBoXcS_normal.png",
		:profile => "ツイキャスの公式アカウントです。ツイキャスに関するお知らせなどを投稿します。なお、お問い合わせは https://t.co/4gCf7XVm7N までお願いします。公式Facebookページ:ttps://t.co/bxYVwpzTJB\n公式Instagram\nhttps://t.co/Bm2O2J2Kfs",
		:level => 24,
		:last_movie_id => "189037369",
		:is_live => true,
		:supporter_count => 0,
		:supporting_count => 0,
		:created => 0
	},
	:tags => ["人気", "コンティニュー中", "レベル40+", "初見さん大歓迎", "まったり", "雑談"]
}

For others response data structure, please refer to API Documentation (APIv2).


Development

Here is for developer

Build Status Coverage Status

Preparation before developing

Before develop twicas_stream, we need to prepare as below. Because example srouce code and test code need access

  1. Create '/config' directory
  2. Create 'access_token.txt' in there
  3. Write your access token in that file

twicas_stream

module TwicasStream
	module TwicasApiObject
		class App
		end

		class User
		end

		class Movie
		end

		class Comment
		end

		class SupporterUser
		end

		class Category
		end

		class SubCategory
		end
	end

	module User
		class GetUserInfo
		end

		class VerifyCredentials
		end
	end

	module LiveThumbnail
		class GetLiveThumbnailImage
		end
	end

	module Movie
		class GetMovieInfo
		end

		class GetMoviesbyUser
		end

		class GetCurrentLive
		end
	end

	module Comment
		class GetComments
		end

		class PostComment
		end

		class DeleteComment
		end
	end

	module Supporter
		class GetSupportingStatus
		end

		class SupportUser
		end

		class UnsupportUser
		end

		class SupportingList
		end

		class SupporterList
		end
	end

	module Category
		class GetCategories
		end
	end

	module Search
		class SearchUsers
		end

		class SearchLiveMovies
		end
	end
end

Twicas API Object

  • App
  • User
  • Movie
  • Comment
  • SupporterUser
  • Category
  • SubCategory
  • Error

Directory Structure

/										  
├─	/bin								  
├─	/config								  
│	└─	access_token.txt				  
├─	/examples							  
│	├─	get_categories.rb				  
│	├─	get_comments.rb					  
│	├─	get_movie_info.rb				  
│	├─	get_user_info.rb				  
│	├─	search_live_movies.rb			  
│	├─	search_users.rb					  
│	└─	verify_credentials.rb			  
├─	/lib								  
│	├─	/twicas_stream					  
│	│	├─	/twicas_api_object			  
│	│	│	├─	app.rb					  
│	│	│	├─	user.rb					  
│	│	│	├─	movie.rb				  
│	│	│	├─	comment.rb				  
│	│	│	├─	supporter_user.rb		  
│	│	│	├─	category.rb				  
│	│	│	└─	sub_category.rb			  
│	│	├─	category.rb					  
│	│	├─	comment.rb					  
│	│	├─	live_thumbnail.rb			  
│	│	├─	movie.rb					  
│	│	├─	request_header.rb			  
│	│	├─	search.rb					  
│	│	├─	supporter.rb				  
│	│	├─	user.rb						  
│	│	└─	version.rb					  
│	└─	twicas_stream.rb				  
├─	/pkg								  
├─	/spec								  
│	├─	/twicas_stream					  
│	│	├─	category_spec.rb			  
│	│	├─	comment_spec.rb				  
│	│	├─	live_thumbnail_spec.rb		  
│	│	├─	movie_spec.rb				  
│	│	├─	search_spec.rb				  
│	│	├─	supporter_spec.rb			  
│	│	└─	user_spec.rb				  
│	└─	spec_helper.rb					  
│	└─	twicas_stream_spec.rb			  
├─	LICENSE								  
└─	README.md							  

Travis CI with secure value

1. Installation

$ bundle install

Or install it yourself as:

$ gem install travis

2. Login

$ travis login --auto

3. Encrypt access token

$ travis encrypt-file config/access_token.txt

4. Commit encrypted file to git