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

Last change on this file since 8b61469 was ffcdf13, checked in by Wilmer van der Gaast <wilmer@…>, at 2010-07-17T15:06:56Z

When using non-Twitter Twitter API services, prefix the channel and contact
name with that service name, not always Twitter. This is especially useful
when having multiple accounts on different sites with the same username.

Also adding an "identica" protocol entry for convenience.

Based on a patch from kensanata, bug #648.

  • Property mode set to 100644
File size: 4.1 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
39/* Timeline URLs */
40#define TWITTER_PUBLIC_TIMELINE_URL "/statuses/public_timeline.xml"
41#define TWITTER_FEATURED_USERS_URL "/statuses/featured.xml"
42#define TWITTER_FRIENDS_TIMELINE_URL "/statuses/friends_timeline.xml"
43#define TWITTER_HOME_TIMELINE_URL "/statuses/home_timeline.xml"
44#define TWITTER_MENTIONS_URL "/statuses/mentions.xml"
45#define TWITTER_USER_TIMELINE_URL "/statuses/user_timeline.xml"
46
47/* Users URLs */
48#define TWITTER_SHOW_USERS_URL "/users/show.xml"
49#define TWITTER_SHOW_FRIENDS_URL "/statuses/friends.xml"
50#define TWITTER_SHOW_FOLLOWERS_URL "/statuses/followers.xml"
51
52/* Direct messages URLs */
53#define TWITTER_DIRECT_MESSAGES_URL "/direct_messages.xml"
54#define TWITTER_DIRECT_MESSAGES_NEW_URL "/direct_messages/new.xml"
55#define TWITTER_DIRECT_MESSAGES_SENT_URL "/direct_messages/sent.xml"
56#define TWITTER_DIRECT_MESSAGES_DESTROY_URL "/direct_messages/destroy/"
57
58/* Friendships URLs */
59#define TWITTER_FRIENDSHIPS_CREATE_URL "/friendships/create.xml"
60#define TWITTER_FRIENDSHIPS_DESTROY_URL "/friendships/destroy.xml"
61#define TWITTER_FRIENDSHIPS_SHOW_URL "/friendships/show.xml"
62
63/* Social graphs URLs */
64#define TWITTER_FRIENDS_IDS_URL "/friends/ids.xml"
65#define TWITTER_FOLLOWERS_IDS_URL "/followers/ids.xml"
66
67/* Account URLs */
68#define TWITTER_ACCOUNT_RATE_LIMIT_URL "/account/rate_limit_status.xml"
69
70/* Favorites URLs */
71#define TWITTER_FAVORITES_GET_URL "/favorites.xml"
72#define TWITTER_FAVORITE_CREATE_URL "/favorites/create/"
73#define TWITTER_FAVORITE_DESTROY_URL "/favorites/destroy/"
74
75/* Block URLs */
76#define TWITTER_BLOCKS_CREATE_URL "/blocks/create/"
77#define TWITTER_BLOCKS_DESTROY_URL "/blocks/destroy/"
78
79void twitter_get_friends_ids(struct im_connection *ic, gint64 next_cursor);
80void twitter_get_home_timeline(struct im_connection *ic, gint64 next_cursor);
81void twitter_get_statuses_friends(struct im_connection *ic, gint64 next_cursor);
82
83void twitter_post_status(struct im_connection *ic, char *msg);
84void twitter_direct_messages_new(struct im_connection *ic, char *who, char *message);
85void twitter_friendships_create_destroy(struct im_connection *ic, char *who, int create);
86
87#endif //_TWITTER_LIB_H
88
Note: See TracBrowser for help on using the repository browser.