Re: vICQ
On Tue, 20 Nov 2001, Serge Matveev wrote:
>
> Я заметил, хотя у меня оно не работает:
Так это я протормозил вчера, и когда патч, переделывающий help-систему
слал, забыл удалить оттуда help по команде sms, хотя саму команду не
включил как неработоспособную. Заработало оно где-то с час назад.
Закидываю patch (против текущей
devel-версии) в список, благо маленький. Думаю, что завтрашняя версия
будет уже содержать версию из коробки. Автор оперативен.
С этим патчем посылка sms-ок работает. Вот reply на sms-ки пока
не работает. Это, к сожалению, стоит 5 центов за тестовый прогон.
Так что придется долго читать код прежде чем начинать тестировать.
Да, это нигде не написано (что видимо бага) но номер следует вводить
как 7xxxyyyyyyy где 7 - код страны (Росссия), xxx- код оператора
yyyyyyy - номер телефона. Т.е. плюсик в начале не нужен.
--
Victor Wagner vitus@ice.ru
Chief Technical Officer Office:7-(095)-748-53-88
Communiware.Net Home: 7-(095)-135-46-61
http://www.communiware.net http://www.ice.ru/~vitus
--- vicq.orig Mon Nov 19 21:20:13 2001
+++ vicq Tue Nov 20 16:36:52 2001
@@ -1796,6 +1796,38 @@
log_event($uin,"Send message to $nick\n$msg\n");
return "You send instant message to $nick";
},
+ 'sms' => sub {
+ my @args = @_;
+ my $target = '';
+ my $msg = '';
+ my ($details);
+ if($args[0]=~/\//)
+ {
+ my $line = join '',@args;
+ if($line =~ /^([+0-9]+)\/(.*)$/)
+ {
+ $msg = $2;
+ $target = $1;
+ if(!$target) { return "invalid number"; }
+ }
+ } else
+ {
+ $target = $args[0];
+ if($target !~ /^[+0-9]+$/) { return "invalid number"; }
+ print "Composing message to $args[0]:\n";
+ $msg = read_message();
+ }
+ $last_message_to = $uin;
+ my %details = ( SMS_Dest_Number => $target,
+ MessageType => 'SMS',
+ text => encode($msg),
+ delivery_receipt=>'Yes'
+
+ );
+ $icq->Send_Command("Cmd_Srv_Message", \%details);
+ log_event($target,"Send SMS to $target\n$msg\n");
+ return "You send SMS message to $target\n";
+ },
'a' => sub {
my @args = @_;
my $uin = $last_message_to;
@@ -2147,7 +2179,8 @@
print CONF "[options]\n";
foreach (keys %config)
{
- print CONF "$_=$config{$_}\n" unless $_ eq 'password';
+ print CONF "$_=$config{$_}\n"
+ unless $_ eq 'password' && !$save_password;
}
if (@ExternalHooks) {
print CONF "[events]\n";
@@ -2203,6 +2236,9 @@
{
($name,$value) = split /=/;
$config{$name} = $value;
+ if ($name eq 'password') {
+ $save_password=1;
+ }
}
elsif($section eq 'contacts')
{
@@ -2242,7 +2278,6 @@
}
} elsif ($section eq 'aliases') {
- print STDERR "Found alias line $_\n";
if (/([^ \t=]+)\s*=\s*([^ \t=]+)/) {
my $new =$1;
my $old = $2;
@@ -2251,7 +2286,6 @@
if ! exists $_command_handlers{$old};
$helps{$new} = $helps{$old};
$_command_handlers{$new} = $_command_handlers{$old};
- print STDERR "$new is now alias to $old\n";
} else {
die "Invalid alias syntax\n";
}
@@ -2259,6 +2293,7 @@
die "Invalid section in config file: $section\n";
}
}
+ print "Done\n";
if(!$config{colors})
{
$config{separator_color} = '';
@@ -2480,6 +2515,7 @@
$last_message_from = $details->{Sender};
$details->{URL} = color_message(decode($details->{URL}));
$details->{Description} = color_message(decode($details->{Description}));
+ $last_message_url = $details->{URL};
print "URL message from $name\nURL : $details->{URL}\nDescription:\n$details->{Description}\n";
log_event($last_message_from, "URL message from $name\nURL : $details->{URL}\nDescription:\n$details->{Description}\n");
}
@@ -2494,6 +2530,10 @@
#$details->{message_id} - The ID given to the SMS message
#$details->{messages_left} - Messages left to send (I always get 0..)
#$details->{TaggedDataString} - The non decoded data string, log it if the message isn't deliverable, since it contains the error message (which isn't collected very verll otherwise..)
+ print "Response from SMS server:\ndeliberable:$details->{deliverable}\n",
+ "network: $details->{network}\nmessage_id: $details->{message_id}\n";
+ log_event("SMSC","Response from SMS server:\ndeliberable: $details->{deliverable}\n".
+ "network: $details->{network}\nmessage_id: $details->{message_id}\n");
}
invoke_hook($details->{MessageType},$details->{sender},$details->{text});
separator();
Reply to:
- References:
- vICQ
- From: Serge Matveev <sm@cl.spb.ru>