irssi-win-builds/scripts/rtm.pl

78 lines
1.6 KiB
Perl

# rtm.pl - add new tasks to rememberthemilk.com
#
# Install:
# 1) /script load rtm
# 2) /set rtm_email <your remember the milk email address>
# 3) /save
#
# Usage:
# /rtm <task>
#
# where:
# <task> task name, e.g. "do laundry"
# Uses RTM's 'Smart Add' for due dates, priority, etc.
#
# Examples:
# Do the dishes for an hour, priority 2.
# /rtm do dishes =1 hour !2
#
# Do homework, due tomorrow.
# /rtm homework ^tomorrow
#
# See also:
# http://www.rememberthemilk.com/services/email/
use strict;
use Irssi;
use vars qw($VERSION %IRSSI);
$VERSION = '1.0';
%IRSSI = (
authors => 'Matt "f0rked" Sparks',
contact => 'ms+irssi@quadpoint.org',
name => 'rtm',
description => 'Add new tasks to rememberthemilk.com',
license => 'BSD',
url => 'http://quadpoint.org',
changed => '2010-12-20',
);
sub rtm_print
{
my($text) = @_;
my $window = Irssi::active_win();
my $b = chr(2);
$window->print("[${b}rtm${b}] $text", MSGLEVEL_CRAP);
}
sub add_task
{
my($email, $text) = @_;
open SM, qq(| mail -s "$text" $email);
print SM "\n\n";
close SM;
}
sub cmd_rtm
{
my($data, $server, $witem) = @_;
my $email_addr = Irssi::settings_get_str("rtm_email");
if (!$email_addr) {
rtm_print("your rememberthemilk.com email address is not set. ".
"Use /set rtm_email <email address> to set it. Don't forget ".
"to /save.");
return;
}
add_task($email_addr, $data);
rtm_print($data);
}
Irssi::command_bind("rtm", "cmd_rtm");
Irssi::settings_add_str("rtm", "rtm_email", "");