Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
242 lines (240 sloc) 9.21 KB
'\" t
.\" Title: bti
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
.\" Date: May 2008
.\" Manual: bti
.\" Source: bti
.\" Language: English
.\"
.TH "BTI" "1" "May 2008" "bti" "bti"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
bti \- send a tweet to twitter\&.com or identi\&.ca from the command line
.SH "SYNOPSIS"
.HP \w'\fBbti\fR\ 'u
\fBbti\fR [\fB\-\-account\ account\fR] [\fB\-\-password\ password\fR] [\fB\-\-action\ action\fR] [\fB\-\-user\ screenname\fR] [\fB\-\-host\ HOST_NAME\fR] [\fB\-\-proxy\ PROXY:PORT\fR] [\fB\-\-logfile\ LOGFILE\fR] [\fB\-\-config\ CONFIGFILE\fR] [\fB\-\-replyto\ ID\fR] [\fB\-\-retweet\ ID\fR] [\fB\-\-page\ PAGENUMBER\fR] [\fB\-\-bash\fR] [\fB\-\-shrink\-urls\fR] [\fB\-\-debug\fR] [\fB\-\-dry\-run\fR] [\fB\-\-verbose\fR] [\fB\-\-version\fR] [\fB\-\-help\fR]
.SH "DESCRIPTION"
.PP
bti sends a tweet message to twitter\&.com or identi\&.ca\&.
.SH "OPTIONS"
.PP
\fB\-\-account account\fR
.RS 4
Specify the twitter\&.com or identi\&.ca account name\&.
.RE
.PP
\fB\-\-password password\fR
.RS 4
Specify the password of your twitter\&.com or identi\&.ca account\&.
.RE
.PP
\fB\-\-action action\fR
.RS 4
Specify the action which you want to perform\&. Valid options are "update" to send a message, "friends" to see your friends timeline, "public" to track public timeline, "replies" to see replies to your messages and "user" to see a specific user\*(Aqs timeline\&. Default is "update"\&.
.RE
.PP
\fB\-\-user screenname\fR
.RS 4
Specify the user whose messages you want to see when the action is "user"\&.
.RE
.PP
\fB\-\-host HOST_NAME\fR
.RS 4
Specify the host which you want to send your message to\&. Valid options are "twitter" to send to twitter\&.com and "identica" to send to identi\&.ca\&. If you want to send the message to a custom StatusNet installation, you should specify the API URI\&. For example identi\&.ca\*(Aqs URI is: https://identi\&.ca/api/statuses
.sp
If no host is specified, the default is to send to twitter\&.com\&.
.RE
.PP
\fB\-\-proxy PROXY:PORT\fR
.RS 4
Specify a http proxy value\&. This is not a required option, and only needed by systems that are behind a http proxy\&.
.sp
If \-\-proxy is not specified but the environment variable \*(Aqhttp_proxy\*(Aq is set the latter will be used\&.
.RE
.PP
\fB\-\-logfile LOGFILE\fR
.RS 4
Specify a logfile for bti to write status messages to\&. LOGFILE is in relation to the user\*(Aqs home directory, not an absolute path to a file\&.
.RE
.PP
\fB\-\-config CONFIGFILE\fR
.RS 4
Specify a config file for bti to read from\&. By default, bti looks in the ~/\&.bti file for config values\&. This default location can be overridden by setting a specific file with this option\&.
.RE
.PP
\fB\-\-replyto ID\fR
.RS 4
Status ID of a single post to which you want to create a threaded reply to\&.
.sp
For twitter, this is ignored unless the message starts with the @name of the owner of the post with the status ID\&.
.sp
For status\&.net, this can link any two messages into context with each other\&. Status\&.net will also link a message that contains an @name without this without regard to context\&.
.RE
.PP
\fB\-\-retweet ID\fR
.RS 4
Status ID of a single post which you want to retweet\&.
.RE
.PP
\fB\-\-shrink\-urls\fR
.RS 4
Scans the tweet text for valid URL patterns and passes each through the supplied bti\-shrink\-urls script\&. The script will pass the URL to a web service that shrinks the URLs, making it more suitable for micro\-blogging\&.
.sp
The following URL shrinking services are available: http://2tu\&.us/ (default) and http://bit\&.ly / http://j\&.mp
.sp
See the documentation for bti\-shrink\-urls for the configuration options\&.
.RE
.PP
\fB\-\-debug\fR
.RS 4
Print a whole bunch of debugging messages to stdout\&.
.RE
.PP
\fB\-\-page PAGENUMBER\fR
.RS 4
When the action is to retrieve updates, it usually retrieves only one page\&. If this option is used, the page number can be specified\&.
.RE
.PP
\fB\-\-dry\-run\fR
.RS 4
Performs all steps that would normally be done for a given action, but will not connect to the service to post or retrieve data\&.
.RE
.PP
\fB\-\-verbose\fR
.RS 4
Verbose mode\&. Print status IDs and timestamps\&.
.RE
.PP
\fB\-\-bash\fR
.RS 4
Add the working directory and a \*(Aq$\*(Aq in the tweet message to help specify it is coming from a command line\&. Don\*(Aqt put the working directory and the \*(Aq$\*(Aq in the tweet message\&.
.sp
This option implies
\fB\-\-background\fR\&.
.RE
.PP
\fB\-\-background\fR
.RS 4
Do not report back any errors that might have happened when sending the message, and send it in the background, returning immediately, allowing the user to continue on\&.
.RE
.PP
\fB\-\-version\fR
.RS 4
Print version number\&.
.RE
.PP
\fB\-\-help\fR
.RS 4
Print help text\&.
.RE
.SH "DESCRIPTION"
.PP
bti provides an easy way to send tweet messages direct from the command line or any script\&. It reads the message on standard input and uses the account and password settings either from the command line options, or from a config file, to send the message out\&.
.PP
Its primary focus is to allow you to log everything that you type into a bash shell, in a crazy, "this is what I\*(Aqm doing right now!" type of way, letting the world follow along with you constant moving between directories and refreshing your email queue to see if there\*(Aqs anything interesting going on\&.
.PP
To hook bti up to your bash shell, export the following variable:
.PP
PROMPT_COMMAND=\*(Aqhistory 1 | sed \-e "s/^\es*[0\-9]*\es*//" | bti \-\-bash\*(Aq
.PP
This example assumes that you have the
~/\&.bti
set up with your account and password information already in it, otherwise you can specify them as an option\&.
.SH "CONFIGURATION"
.PP
The account and password can be stored in a configuration file in the users home directory in a file named
\&.bti\&. The structure of this file is as follows:
.PP
\fBaccount\fR
.RS 4
The twitter\&.com or identi\&.ca account name you wish to use to send this message with\&.
.RE
.PP
\fBpassword\fR
.RS 4
The twitter\&.com or identi\&.ca password for the account you wish to use to send this message with\&.
.RE
.PP
\fB\-\-action action\fR
.RS 4
Specify the action which you want to perform\&. Valid options are "update" to send a message, "friends" to see your friends timeline, "public" to track public timeline, "replies" to see replies to your messages and "user" to see a specific user\*(Aqs timeline\&.
.RE
.PP
\fB\-\-user screenname\fR
.RS 4
Specify the user you want to see his/her messages while the action is "user"\&.
.RE
.PP
\fBhost\fR
.RS 4
The host you want to use to send the message to\&. Valid options are either "twitter" or "identica" to send to twitter\&.com or identi\&.ca respectively\&. If you want to send the message to a custom StatusNet installation, you should specify the API URI\&. For example identi\&.ca\*(Aqs URI is: https://identi\&.ca/api/statuses\&.
.RE
.PP
\fBproxy\fR
.RS 4
The http proxy needed to send data out to the Internet\&.
.RE
.PP
\fBlogfile\fR
.RS 4
The logfile name for bti to write what happened to\&. This file is relative to the user\*(Aqs home directory\&. If this file is not specified here or on the command line, no logging will be written to the disk\&.
.RE
.PP
\fBreplyto\fR
.RS 4
The status ID to which all notices will be linked to\&.
.sp
There is no sane reason for a need to have this set in a config file\&. One such reason is to have all your messages as children to a particular status\&.
.RE
.PP
\fBshrink\-urls\fR
.RS 4
Setting this variable to \*(Aqtrue\*(Aq or \*(Aqyes\*(Aq will enable the URL shrinking feature\&. This is equivalent to using the \-\-shrink\-urls option\&.
.RE
.PP
\fBverbose\fR
.RS 4
Setting this variable to \*(Aqtrue\*(Aq or \*(Aqyes\*(Aq will enable the verbose mode\&.
.RE
.PP
There is an example config file called
bti\&.example
in the source tree that shows the structure of the file if you need an example to work off of\&.
.PP
Configuration options have the following priority:
.PP
.RS 4
command line option
.RE
.PP
.RS 4
config file option
.RE
.PP
.RS 4
environment variables
.RE
.PP
For example, command line options always override any config file option, or any environment variables\&. Unless a config file is specified by the command line\&. At that point, the new config file is read, and any previous options set by a command line option, would be overridden\&.
.SH "AUTHOR"
.PP
Written by Greg Kroah\-Hartman <greg@kroah\&.com> and Amir Mohammad Saied <amirsaied@gmail\&.com>\&.
Something went wrong with that request. Please try again.