diff options
-rwxr-xr-x | configure | 4 | ||||
-rw-r--r-- | doc/user-guide/Makefile | 2 | ||||
-rw-r--r-- | doc/user-guide/commands.xml | 21 | ||||
-rw-r--r-- | doc/user-guide/help.xml | 1 | ||||
-rw-r--r-- | doc/user-guide/twitter.xml | 28 | ||||
-rw-r--r-- | doc/user-guide/user-guide.xml | 1 | ||||
-rw-r--r-- | protocols/purple/purple.c | 4 | ||||
-rw-r--r-- | protocols/twitter/twitter_lib.c | 19 |
8 files changed, 48 insertions, 32 deletions
@@ -248,6 +248,7 @@ cat<<EOF >config.h #define ETCDIR "$etcdir" #define VARDIR "$datadir" #define PLUGINDIR "$plugindir" +#define DATADIR "$datadir" #define PIDFILE "$pidfile" #define IPCSOCKET "$ipcsocket" EOF @@ -779,7 +780,7 @@ fi if [ "$doc" = "1" ]; then # check this here just in case someone tries to install it in python2.4... - if ! $PYTHON -m xml.etree.ElementTree > /dev/null 2>&1; then + if [ ! -e $srcdir/doc/user-guide/help.txt ] && ! $PYTHON -m xml.etree.ElementTree > /dev/null 2>&1; then echo echo 'ERROR: Python (>=2.5 or 3.x) is required to generate docs' echo "(Use the PYTHON environment variable if it's in a weird location)" @@ -823,6 +824,7 @@ prefix=$prefix includedir=$includedir plugindir=$plugindir libdir=$libdir +datadir=$datadir Name: bitlbee Description: IRC to IM gateway diff --git a/doc/user-guide/Makefile b/doc/user-guide/Makefile index 01fd9aa2..541d8c46 100644 --- a/doc/user-guide/Makefile +++ b/doc/user-guide/Makefile @@ -34,7 +34,7 @@ help.xml: commands.xml %.db.xml: %.xml docbook.xsl xsltproc --xinclude --output $@ docbook.xsl $< -help.txt: $(_SRCDIR_)help.xml $(_SRCDIR_)commands.xml $(_SRCDIR_)misc.xml $(_SRCDIR_)quickstart.xml +help.txt: $(_SRCDIR_)help.xml $(_SRCDIR_)commands.xml $(_SRCDIR_)misc.xml $(_SRCDIR_)quickstart.xml $(_SRCDIR_)twitter.xml $(PYTHON) $(_SRCDIR_)genhelp.py $< $@ clean: diff --git a/doc/user-guide/commands.xml b/doc/user-guide/commands.xml index 1ddf9764..f20e3298 100644 --- a/doc/user-guide/commands.xml +++ b/doc/user-guide/commands.xml @@ -183,7 +183,7 @@ <bitlbee-command name="channel"> <short-description>Channel list maintenance</short-description> - <syntax>channel [<account id>] <action> [<arguments>]</syntax> + <syntax>channel [<channel id>] <action> [<arguments>]</syntax> <description> <para> @@ -890,24 +890,7 @@ <description> <para> - With this setting enabled, you can use some commands in your Twitter channel/query. The commands are simple and not documented in too much detail: - </para> - - <variablelist> - <varlistentry><term>undo #[<id>]</term><listitem><para>Delete your last Tweet (or one with the given ID)</para></listitem></varlistentry> - <varlistentry><term>rt <screenname|#id></term><listitem><para>Retweet someone's last Tweet (or one with the given ID)</para></listitem></varlistentry> - <varlistentry><term>reply <screenname|#id></term><listitem><para>Reply to a Tweet (with a reply-to reference)</para></listitem></varlistentry> - <varlistentry><term>rawreply <screenname|#id></term><listitem><para>Reply to a Tweet (with no reply-to reference)</para></listitem></varlistentry> - <varlistentry><term>report <screenname|#id></term><listitem><para>Report the given user (or the user who posted the tweet with the given ID) for sending spam. This will also block them.</para></listitem></varlistentry> - <varlistentry><term>follow <screenname></term><listitem><para>Start following a person</para></listitem></varlistentry> - <varlistentry><term>unfollow <screenname></term><listitem><para>Stop following a person</para></listitem></varlistentry> - <varlistentry><term>favourite <screenname|#id></term><listitem><para>Favo<emphasis>u</emphasis>rite the given user's most recent tweet, or the given tweet ID.</para></listitem></varlistentry> - <varlistentry><term>post <message></term><listitem><para>Post a tweet</para></listitem></varlistentry> - <varlistentry><term>url <screenname|#id></term><listitem><para>Show URL for a tweet to open it in a browser (and see context)</para></listitem></varlistentry> - </variablelist> - - <para> - Anything that doesn't look like a command will be treated as a tweet. Watch out for typos, or to avoid this behaviour, you can set this setting to <emphasis>strict</emphasis>, which causes the <emphasis>post</emphasis> command to become mandatory for posting a tweet. + With this setting enabled, you can use some commands in your Twitter channel/query. See <emphasis>help twitter</emphasis> for the list of extra commands available. </para> </description> </bitlbee-setting> diff --git a/doc/user-guide/help.xml b/doc/user-guide/help.xml index 1b68413a..810731b5 100644 --- a/doc/user-guide/help.xml +++ b/doc/user-guide/help.xml @@ -59,6 +59,7 @@ You can read more about them with <emphasis>help <subject></emphasis> <xi:include href="quickstart.xml"/> <xi:include href="commands.xml"/> +<xi:include href="twitter.xml"/> <xi:include href="misc.xml"/> </book> diff --git a/doc/user-guide/twitter.xml b/doc/user-guide/twitter.xml new file mode 100644 index 00000000..3827464a --- /dev/null +++ b/doc/user-guide/twitter.xml @@ -0,0 +1,28 @@ +<chapter id="twitter"> +<title>Twitter</title> + +<para> +Twitter allows you to use a set of commands in the Twitter channel/query. See <emphasis>help set commands</emphasis>. +</para> + +<para> +Anything that doesn't look like a command will be treated as a new message. Watch out for typos, or to avoid this behaviour, set the <emphasis>commands</emphasis> setting to <emphasis>strict</emphasis>, which causes the <emphasis>post</emphasis> command to become mandatory for posting. See <emphasis>help set commands</emphasis>. +</para> + +<para> +Here is a short description of the commands available: +<variablelist> +<varlistentry><term>undo [<#id>]</term><listitem><para>Delete your last message (or one with the given ID)</para></listitem></varlistentry> +<varlistentry><term>rt <screenname|#id></term><listitem><para>Retweet someone's last message (or one with the given ID)</para></listitem></varlistentry> +<varlistentry><term>reply <screenname|#id></term><listitem><para>Reply to a message (with a reply-to reference)</para></listitem></varlistentry> +<varlistentry><term>rawreply <screenname|#id></term><listitem><para>Reply to a message (with no reply-to reference)</para></listitem></varlistentry> +<varlistentry><term>report <screenname|#id></term><listitem><para>Report the given user (or the user who posted the message with the given ID) for sending spam. This will also block them.</para></listitem></varlistentry> +<varlistentry><term>follow <screenname></term><listitem><para>Start following a person</para></listitem></varlistentry> +<varlistentry><term>unfollow <screenname></term><listitem><para>Stop following a person</para></listitem></varlistentry> +<varlistentry><term>favourite <screenname|#id></term><listitem><para>Favo<emphasis>u</emphasis>rite the given user's most recent message, or the given ID.</para></listitem></varlistentry> +<varlistentry><term>post <message></term><listitem><para>Post a message</para></listitem></varlistentry> +<varlistentry><term>url <screenname|#id></term><listitem><para>Show URL for a message to open it in a browser (and see context)</para></listitem></varlistentry> +</variablelist> +</para> + +</chapter> diff --git a/doc/user-guide/user-guide.xml b/doc/user-guide/user-guide.xml index 5e1c8fe0..16b974db 100644 --- a/doc/user-guide/user-guide.xml +++ b/doc/user-guide/user-guide.xml @@ -36,6 +36,7 @@ <xi:include href="Support.xml"/> <xi:include href="quickstart.xml"/> <xi:include href="commands.xml"/> + <xi:include href="twitter.xml"/> <xi:include href="misc.xml"/> </book> diff --git a/protocols/purple/purple.c b/protocols/purple/purple.c index 64faadfb..25cd00cf 100644 --- a/protocols/purple/purple.c +++ b/protocols/purple/purple.c @@ -1808,6 +1808,7 @@ void purple_initmodule() GList *prots; GString *help; char *dir; + gboolean debug_enabled = !!getenv("BITLBEE_DEBUG"); if (purple_get_core() != NULL) { log_message(LOGLVL_ERROR, "libpurple already initialized. " @@ -1826,7 +1827,7 @@ void purple_initmodule() purple_plugins_add_search_path(dir); g_free(dir); - purple_debug_set_enabled(FALSE); + purple_debug_set_enabled(debug_enabled); purple_core_set_ui_ops(&bee_core_uiops); purple_eventloop_set_ui_ops(&glib_eventloops); if (!purple_core_init("BitlBee")) { @@ -1834,6 +1835,7 @@ void purple_initmodule() fprintf(stderr, "libpurple initialization failed.\n"); abort(); } + purple_debug_set_enabled(FALSE); if (proxytype != PROXY_NONE) { PurpleProxyInfo *pi = purple_global_proxy_get_info(); diff --git a/protocols/twitter/twitter_lib.c b/protocols/twitter/twitter_lib.c index a046f35e..4addb650 100644 --- a/protocols/twitter/twitter_lib.c +++ b/protocols/twitter/twitter_lib.c @@ -322,7 +322,7 @@ static gboolean twitter_xt_get_friends_id_list(json_value *node, struct twitter_ } txl->list = g_slist_prepend(txl->list, - g_strdup_printf("%" PRIu64, c->u.array.values[i]->u.integer)); + g_strdup_printf("%" PRId64, c->u.array.values[i]->u.integer)); } c = json_o_get(node, "next_cursor"); @@ -476,7 +476,6 @@ static void twitter_http_get_noretweets_ids(struct http_request *req) } txl = g_new0(struct twitter_xml_list, 1); - // Process the retweet ids txl->type = TXL_ID; if (parsed->type == json_array) { @@ -486,7 +485,7 @@ static void twitter_http_get_noretweets_ids(struct http_request *req) if (c->type != json_integer) { continue; } - g_hash_table_add(td->noretweets_ids, g_strdup_printf("%"PRIu64, c->u.integer)); + g_hash_table_add(td->noretweets_ids, g_strdup_printf("%"PRId64, c->u.integer)); } } @@ -782,7 +781,7 @@ static void expand_entities(char **text, const json_value *node, const json_valu const char *full = json_o_str(v->u.array.values[i], "expanded_url"); char *pos, *new; - /* Skip if a required field is missing, if the t.co URL is not in fact + /* Skip if a required field is missing, if the t.co URL is not in fact in the Tweet at all, or if the full-ish one *is* in it already (dupes appear, especially in streaming API). */ if (!kort || !disp || !(pos = strstr(*text, kort)) || strstr(*text, disp)) { @@ -1023,9 +1022,9 @@ static void twitter_status_show(struct im_connection *ic, struct twitter_xml_sta if (status->user == NULL || status->text == NULL) { return; } - + /* Check this is not a tweet that should be muted */ - uid_str = g_strdup_printf("%" PRIu64, status->user->uid); + uid_str = g_strdup_printf("%" G_GUINT64_FORMAT, status->user->uid); if (g_hash_table_lookup(td->mutes_ids, uid_str) || g_hash_table_lookup(td->blocks_ids, uid_str)) { @@ -1237,23 +1236,23 @@ static gboolean twitter_stream_handle_event(struct im_connection *ic, json_value char *uid_str; int mute = strcmp(type, "mute") == 0; ut = twitter_xt_get_user(target); - uid_str = g_strdup_printf("%" PRIu64, ut->uid); + uid_str = g_strdup_printf("%" G_GUINT64_FORMAT, ut->uid); g_hash_table_add(mute ? td->mutes_ids : td->blocks_ids, uid_str); twitter_log(ic, "%s user %s", mute ? "Muted" : "Blocked", ut->screen_name); if (getenv("BITLBEE_DEBUG")) { - fprintf(stderr, "New mute: %s %"PRIu64"\n", + fprintf(stderr, "New mute: %s %"G_GUINT64_FORMAT"\n", ut->screen_name, ut->uid); } } else if (strcmp(type, "unmute") == 0 || strcmp(type, "unblock") == 0) { char *uid_str; int unmute = strcmp(type, "unmute") == 0; ut = twitter_xt_get_user(target); - uid_str = g_strdup_printf("%" PRIu64, ut->uid); + uid_str = g_strdup_printf("%" G_GUINT64_FORMAT, ut->uid); g_hash_table_remove(unmute ? td->mutes_ids : td->blocks_ids, uid_str); g_free(uid_str); twitter_log(ic, "%s user %s", unmute ? "Unmuted" : "Blocked", ut->screen_name); if (getenv("BITLBEE_DEBUG")) { - fprintf(stderr, "New unmute: %s %"PRIu64"\n", + fprintf(stderr, "New unmute: %s %"G_GUINT64_FORMAT"\n", ut->screen_name, ut->uid); } } |