twitter-conduit-0.0.2.1: Twitter API package with conduit interface and Streaming API support.

Safe HaskellNone

Web.Twitter.Conduit.Api

Contents

Synopsis

Search

searchSource

Arguments

:: Text

search string

-> APIRequest Search (SearchResult [SearchStatus]) 

Returns search query.

You can perform a search query using call:

 res <- call (search "search text")
 liftIO . print $ res ^. searchResultStatuses
>>> search "search text"
APIRequestGet "https://api.twitter.com/1.1/search/tweets.json" [("q","search text")]
>>> search "search text" & lang ?~ "ja" & count ?~ 100
APIRequestGet "https://api.twitter.com/1.1/search/tweets.json" [("count","100"),("lang","ja"),("q","search text")]

Direct Messages

directMessages :: APIRequest DirectMessages [DirectMessage]Source

Returns query data which asks recent direct messages sent to the authenticating user.

You can perform a query using call:

 res <- call $ directMessages & count ?~ 100
>>> directMessages
APIRequestGet "https://api.twitter.com/1.1/direct_messages.json" []
>>> directMessages & count ?~ 100
APIRequestGet "https://api.twitter.com/1.1/direct_messages.json" [("count","100")]

directMessagesSent :: APIRequest DirectMessagesSent [DirectMessage]Source

Returns query data which asks recent direct messages sent by the authenticating user.

You can perform a query using call:

 res <- call $ directMessagesSent & count ?~ 100
>>> directMessagesSent
APIRequestGet "https://api.twitter.com/1.1/direct_messages/sent.json" []
>>> directMessagesSent & count ?~ 100
APIRequestGet "https://api.twitter.com/1.1/direct_messages/sent.json" [("count","100")]

directMessagesShow :: StatusId -> APIRequest DirectMessagesShow DirectMessageSource

Returns query data which asks a single direct message, specified by an id parameter.

You can perform a query using call:

 res <- call $ directMessagesShow 1234567890
>>> directMessagesShow 1234567890
APIRequestGet "https://api.twitter.com/1.1/direct_messages/show.json" [("id","1234567890")]

directMessagesDestroy :: StatusId -> APIRequest DirectMessagesDestroy DirectMessageSource

Returns post data which destroys the direct message specified in the required ID parameter.

You can perform a query using call:

 res <- call $ directMessagesDestroy 1234567890
>>> directMessagesDestroy 1234567890
APIRequestPost "https://api.twitter.com/1.1/direct_messages/destroy.json" [("id","1234567890")]

directMessagesNew :: UserParam -> Text -> APIRequest DirectMessagesNew DirectMessageSource

Returns post data which sends a new direct message to the specified user from the authenticating user.

You can perform a post using call:

 res <- call $ directMessagesNew (ScreenNameParam "thimura") "Hello DM"
>>> directMessagesNew (ScreenNameParam "thimura") "Hello DM"
APIRequestPost "https://api.twitter.com/1.1/direct_messages/new.json" [("text","Hello DM"),("screen_name","thimura")]
>>> directMessagesNew (UserIdParam 69179963) "Hello thimura! by UserId"
APIRequestPost "https://api.twitter.com/1.1/direct_messages/new.json" [("text","Hello thimura! by UserId"),("user_id","69179963")]

Friends & Followers

friendsIds :: UserParam -> APIRequest FriendsIds (WithCursor IdsCursorKey UserId)Source

Returns query data which asks a collection of user IDs for every user the specified user is following.

You can perform a query using call:

 res <- call $ friendsIds (ScreenNameParam "thimura")

Or, you can iterate with sourceWithCursor:

 sourceWithCursor (friendsIds (ScreenNameParam "thimura")) $$ CL.consume
>>> friendsIds (ScreenNameParam "thimura")
APIRequestGet "https://api.twitter.com/1.1/friends/ids.json" [("screen_name","thimura")]
>>> friendsIds (ScreenNameParam "thimura") & count ?~ 5000
APIRequestGet "https://api.twitter.com/1.1/friends/ids.json" [("count","5000"),("screen_name","thimura")]

followersIds :: UserParam -> APIRequest FollowersIds (WithCursor IdsCursorKey UserId)Source

Returns query data which asks a collection of user IDs for every user following the specified user.

You can perform a query using call:

 res <- call $ followersIds (ScreenNameParam "thimura")

Or, you can iterate with sourceWithCursor:

 sourceWithCursor (followersIds (ScreenNameParam "thimura")) $$ CL.consume
>>> followersIds (ScreenNameParam "thimura")
APIRequestGet "https://api.twitter.com/1.1/followers/ids.json" [("screen_name","thimura")]
>>> followersIds (ScreenNameParam "thimura") & count ?~ 5000
APIRequestGet "https://api.twitter.com/1.1/followers/ids.json" [("count","5000"),("screen_name","thimura")]

friendshipsCreate :: UserParam -> APIRequest FriendshipsCreate UserSource

Returns post data which follows the user specified in the ID parameter.

You can perform request by using call:

 res <- call $ friendshipsCreate (ScreenNameParam "thimura")
>>> friendshipsCreate (ScreenNameParam "thimura")
APIRequestPost "https://api.twitter.com/1.1/friendships/create.json" [("screen_name","thimura")]
>>> friendshipsCreate (UserIdParam 69179963)
APIRequestPost "https://api.twitter.com/1.1/friendships/create.json" [("user_id","69179963")]

friendsList :: UserParam -> APIRequest FriendsList (WithCursor UsersCursorKey User)Source

Returns query data which asks a cursored collection of user objects for every user the specified users is following.

You can perform request by using call:

 res <- call $ friendsList (ScreenNameParam "thimura")

Or, you can iterate with sourceWithCursor:

 sourceWithCursor (friendsList (ScreenNameParam "thimura")) $$ CL.consume
>>> friendsList (ScreenNameParam "thimura")
APIRequestGet "https://api.twitter.com/1.1/friends/list.json" [("screen_name","thimura")]
>>> friendsList (UserIdParam 69179963)
APIRequestGet "https://api.twitter.com/1.1/friends/list.json" [("user_id","69179963")]

Users

accountVerifyCredentials :: APIRequest AccountVerifyCredentials UserSource

Returns query data asks that the credential is valid.

You can perform request by using call:

 res <- call $ accountVerifyCredentials
>>> accountVerifyCredentials
APIRequestGet "https://api.twitter.com/1.1/account/verify_credentials.json" []

usersLookup :: UserListParam -> APIRequest UsersLookup [User]Source

Returns query data asks user objects.

You can perform request by using call:

 res <- call $ usersLookup (ScreenNameListParam ["thimura", "twitterapi"])
>>> usersLookup (ScreenNameListParam ["thimura", "twitterapi"])
APIRequestGet "https://api.twitter.com/1.1/users/lookup.json" [("screen_name","thimura,twitterapi")]

usersShow :: UserParam -> APIRequest UsersShow UserSource

Returns query data asks the user specified by user id or screen name parameter.

You can perform request by using call:

 res <- call $ usersShow (ScreenNameParam "thimura")
>>> usersShow (ScreenNameParam "thimura")
APIRequestGet "https://api.twitter.com/1.1/users/show.json" [("screen_name","thimura")]

Suggested Users

Favorites

favoritesDestroy :: StatusId -> APIRequest FavoritesDestroy StatusSource

Returns post data unfavorites the status specified in the ID paramter as the authenticating user.

You can perform request by using call:

 res <- call $ favoritesDestroy 1234567890
>>> favoritesDestroy 1234567890
APIRequestPost "https://api.twitter.com/1.1/favorites/destroy.json" [("id","1234567890")]

favoritesCreate :: StatusId -> APIRequest FavoritesCreate StatusSource

Returns post data which favorites the status specified in the ID parameter as the authenticating user.

You can perform request by using call:

 res <- call $ favoritesCreate 1234567890
>>> favoritesCreate 1234567890
APIRequestPost "https://api.twitter.com/1.1/favorites/create.json" [("id","1234567890")]

Lists

listsMembers :: ListParam -> APIRequest ListsMembers (WithCursor UsersCursorKey User)Source

Returns query data asks the members of the specified list.

You can perform request by using call:

 res <- call $ listsMembers (ListNameParam thimura/haskell)
>>> listsMembers (ListNameParam "thimura/haskell")
APIRequestGet "https://api.twitter.com/1.1/lists/members.json" [("slug","haskell"),("owner_screen_name","thimura")]
>>> listsMembers (ListIdParam 20849097)
APIRequestGet "https://api.twitter.com/1.1/lists/members.json" [("list_id","20849097")]