[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: