2 <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
12 <productname>bti</productname>
16 <refentrytitle>bti</refentrytitle>
17 <manvolnum>1</manvolnum>
18 <refmiscinfo class="version"></refmiscinfo>
22 <refname>bti</refname>
23 <refpurpose>send a tweet to twitter.com or identi.ca from the command line</refpurpose>
28 <command>bti</command>
29 <arg><option>--account account</option></arg>
30 <arg><option>--password password</option></arg>
31 <arg><option>--action action</option></arg>
32 <arg><option>--user screenname</option></arg>
33 <arg><option>--host HOST_NAME</option></arg>
34 <arg><option>--proxy PROXY:PORT</option></arg>
35 <arg><option>--logfile LOGFILE</option></arg>
36 <arg><option>--bash</option></arg>
37 <arg><option>--shrink-urls</option></arg>
38 <arg><option>--debug</option></arg>
39 <arg><option>--dry-run</option></arg>
40 <arg><option>--version</option></arg>
41 <arg><option>--help</option></arg>
45 <refsect1><title>DESCRIPTION</title>
46 <para>bti sends a tweet message to twitter.com or identi.ca.
50 <refsect1><title>OPTIONS</title>
53 <term><option>--account account</option></term>
56 Specify the twitter.com or identi.ca account name.
61 <term><option>--password password</option></term>
64 Specify the password of your twitter.com or identi.ca account.
69 <term><option>--action action</option></term>
72 Specify the action which you want to perform. Valid options
73 are "update" to send a message, "friends" to see your friends
74 timeline, "public" to track public timeline, "replies" to see
75 replies to your messages and "user" to see a specific user's
81 <term><option>--user screenname</option></term>
84 Specify the user you want to see his/her messages while the
90 <term><option>--host HOST_NAME</option></term>
93 Specify the host which you want to send your message to. Valid
94 options are "twitter" to send to twitter.com and "identica" to
98 If no host is specified, the default is to send to twitter.com.
103 <term><option>--proxy PROXY:PORT</option></term>
106 Specify a http proxy value. This is not a required option, and
107 only needed by systems that are behind a http proxy.
110 If --proxy is not specified but the environment variable
111 'http_proxy' is set the latter will be used.
116 <term><option>--logfile LOGFILE</option></term>
119 Specify a logfile for bti to write status messages to. LOGFILE
120 is in relation to the user's home directory, not an absolute
126 <term><option>--shrink-urls</option></term>
129 Scans the tweet text for valid URL patterns and passes each
130 through the supplied bti-shrink-urls script. The script will
131 pass the URL to a web service that shrinks the URLs, making it
132 more suitable for micro-blogging.
135 Currently, only http://2tu.us/ is used as a URL shrinking service.
140 <term><option>--debug</option></term>
142 <para>Print a whole bunch of debugging messages to stdout.</para>
146 <term><option>--dry-run</option></term>
149 Performs all steps that would normally be done for a given
150 action, but will not connect to the service to post or retrieve data.
155 <term><option>--bash</option></term>
158 Add the working directory and a '$' in the tweet message to
159 help specify it is coming from a command line. Don't put the
160 working directory and the '$' in the tweet message.
163 This mode also does not report back any errors that might have
164 happened when sending the message, and it sends it in the
165 background, returning immediately, allowing the process to
171 <term><option>--version</option></term>
173 <para>Print version number.</para>
177 <term><option>--help</option></term>
179 <para>Print help text.</para>
186 <title>DESCRIPTION</title>
188 bti provides an easy way to send tweet messages direct from the
189 command line or any script. It reads the message on standard
190 input and uses the account and password settings either from the
191 command line options, or from a config file, to send the message
195 It's primary focus is to allow you to log everything that you
196 type into a bash shell, in a crazy, "this is what I'm doing right
197 now!" type of way, letting the world follow along with you
198 constant moving between directories and refreshing your email
199 queue to see if there's anything interesting going on.
202 To hook bti up to your bash shell, export the following variable:
205 <literal> PROMPT_COMMAND='history 1 | sed -e "s/^\s*[0-9]*\s*//" | bti --bash'</literal>
208 This example assumes that you have the
209 <filename>~/.bti</filename> set up with your account and password
210 information already in it, otherwise you can specify them as an
216 <title>CONFIGURATION</title>
218 The account and password can be stored in a configuration file
219 in the users home directory in a file named
220 <filename>.bti</filename> The structure of this file is as
225 <term><option>account</option></term>
228 The twitter.com or identi.ca account name you wish to use to send this
234 <term><option>password</option></term>
237 The twitter.com or identi.ca password for the account you wish to use
238 to send this message with.
243 <term><option>--action action</option></term>
246 Specify the action which you want to perform. Valid options
247 are "update" to send a message, "friends" to see your friends
248 timeline, "public" to track public timeline, "replies" to see
249 replies to your messages and "user" to see a specific user's
255 <term><option>--user screenname</option></term>
258 Specify the user you want to see his/her messages while the
264 <term><option>host</option></term>
267 The host you want to use to send the message to. Valid
268 options are either "twitter" or "identica" to send to
269 twitter.com or identi.ca respectively.
274 <term><option>proxy</option></term>
277 The http proxy needed to send data out to the Internet.
282 <term><option>logfile</option></term>
285 The logfile name for bti to write what happened to.
286 This file is relative to the user's home directory. If this
287 file is not specified here or on the command line, no logging
288 will be written to the disk.
293 <term><option>shrink-urls</option></term>
296 Setting this variable to 'true' or 'yes' will enable the URL
297 shrinking feature. This is equivalent to using the
298 --shrink-urls option.
304 There is an example config file called
305 <filename>bti.example</filename> in the source tree that shows
306 the structure of the file if you need an example to work off of.
309 Configuration options have the following priority:
314 <listitem><para>command line option</para></listitem>
318 <listitem><para>config file option</para></listitem>
322 <listitem><para>environment variables</para></listitem>
326 For example, command line options always override any config file
327 option, or any environment variables.
331 <refsect1><title>AUTHOR</title>
332 <para>Written by Greg Kroah-Hartman <email>greg@kroah.com</email>.</para>