source: protocols/twitter/twitter_lib.h @ 8e3890b

Last change on this file since 8e3890b was b890626, checked in by Wilmer van der Gaast <wilmer@…>, at 2010-08-08T13:42:57Z

Add a few more commands (including RT) and the ability to send replies.
That's it for now, this is already not very pretty, but just offers the bare
basic functionality.

  • Property mode set to 100644
File size: 4.3 KB
Line 
1/***************************************************************************\
2*                                                                           *
3*  BitlBee - An IRC to IM gateway                                           *
4*  Simple module to facilitate twitter functionality.                       *
5*                                                                           *
6*  Copyright 2009 Geert Mulders <g.c.w.m.mulders@gmail.com>                 *
7*                                                                           *
8*  This library is free software; you can redistribute it and/or            *
9*  modify it under the terms of the GNU Lesser General Public               *
10*  License as published by the Free Software Foundation, version            *
11*  2.1.                                                                     *
12*                                                                           *
13*  This library is distributed in the hope that it will be useful,          *
14*  but WITHOUT ANY WARRANTY; without even the implied warranty of           *
15*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU        *
16*  Lesser General Public License for more details.                          *
17*                                                                           *
18*  You should have received a copy of the GNU Lesser General Public License *
19*  along with this library; if not, write to the Free Software Foundation,  *
20*  Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA           *
21*                                                                           *
22****************************************************************************/
23
24
25#ifndef _TWITTER_LIB_H
26#define _TWITTER_LIB_H
27
28#include "nogaim.h"
29#include "twitter_http.h"
30
31#define TWITTER_API_URL "http://twitter.com"
32#define IDENTICA_API_URL "http://identi.ca/api"
33
34/* Status URLs */
35#define TWITTER_STATUS_UPDATE_URL "/statuses/update.xml"
36#define TWITTER_STATUS_SHOW_URL "/statuses/show/"
37#define TWITTER_STATUS_DESTROY_URL "/statuses/destroy/"
38#define TWITTER_STATUS_RETWEET_URL "/statuses/retweet/"
39
40/* Timeline URLs */
41#define TWITTER_PUBLIC_TIMELINE_URL "/statuses/public_timeline.xml"
42#define TWITTER_FEATURED_USERS_URL "/statuses/featured.xml"
43#define TWITTER_FRIENDS_TIMELINE_URL "/statuses/friends_timeline.xml"
44#define TWITTER_HOME_TIMELINE_URL "/statuses/home_timeline.xml"
45#define TWITTER_MENTIONS_URL "/statuses/mentions.xml"
46#define TWITTER_USER_TIMELINE_URL "/statuses/user_timeline.xml"
47
48/* Users URLs */
49#define TWITTER_SHOW_USERS_URL "/users/show.xml"
50#define TWITTER_SHOW_FRIENDS_URL "/statuses/friends.xml"
51#define TWITTER_SHOW_FOLLOWERS_URL "/statuses/followers.xml"
52
53/* Direct messages URLs */
54#define TWITTER_DIRECT_MESSAGES_URL "/direct_messages.xml"
55#define TWITTER_DIRECT_MESSAGES_NEW_URL "/direct_messages/new.xml"
56#define TWITTER_DIRECT_MESSAGES_SENT_URL "/direct_messages/sent.xml"
57#define TWITTER_DIRECT_MESSAGES_DESTROY_URL "/direct_messages/destroy/"
58
59/* Friendships URLs */
60#define TWITTER_FRIENDSHIPS_CREATE_URL "/friendships/create.xml"
61#define TWITTER_FRIENDSHIPS_DESTROY_URL "/friendships/destroy.xml"
62#define TWITTER_FRIENDSHIPS_SHOW_URL "/friendships/show.xml"
63
64/* Social graphs URLs */
65#define TWITTER_FRIENDS_IDS_URL "/friends/ids.xml"
66#define TWITTER_FOLLOWERS_IDS_URL "/followers/ids.xml"
67
68/* Account URLs */
69#define TWITTER_ACCOUNT_RATE_LIMIT_URL "/account/rate_limit_status.xml"
70
71/* Favorites URLs */
72#define TWITTER_FAVORITES_GET_URL "/favorites.xml"
73#define TWITTER_FAVORITE_CREATE_URL "/favorites/create/"
74#define TWITTER_FAVORITE_DESTROY_URL "/favorites/destroy/"
75
76/* Block URLs */
77#define TWITTER_BLOCKS_CREATE_URL "/blocks/create/"
78#define TWITTER_BLOCKS_DESTROY_URL "/blocks/destroy/"
79
80void twitter_get_friends_ids(struct im_connection *ic, gint64 next_cursor);
81void twitter_get_home_timeline(struct im_connection *ic, gint64 next_cursor);
82void twitter_get_statuses_friends(struct im_connection *ic, gint64 next_cursor);
83
84void twitter_post_status(struct im_connection *ic, char *msg, guint64 in_reply_to);
85void twitter_direct_messages_new(struct im_connection *ic, char *who, char *message);
86void twitter_friendships_create_destroy(struct im_connection *ic, char *who, int create);
87void twitter_status_destroy(struct im_connection *ic, guint64 id);
88void twitter_status_retweet(struct im_connection *ic, guint64 id);
89
90#endif //_TWITTER_LIB_H
91
Note: See TracBrowser for help on using the repository browser.