a mostly working send message implementation
[spider.git] / perl / DXM.pm
index 435e32f94ba4fdd50b59b2ada81576f079046bcd..64602a2683b48bb634dd79078bc328e5b6257b9a 100644 (file)
 
 package DXM;
 
-require Exporter;
-@ISA = qw(Exporter);
-@EXPORT = qw(msg);
+use DXVars;
 
 %msgs = (
+  addr => 'Address set to: $_[0]',
+  anns => 'Announce flag set on $_[0]',
+  annu => 'Announce flag unset on $_[0]',
+  conother => 'Sorry $_[0] you are connected on another port',
+  concluster => 'Sorry $_[0] you are already connected elsewhere on the cluster',
+  dxs => 'DX Spots flag set on $_[0]',
+  dxu => 'DX Spots flag unset on $_[0]',
+  e1 => 'Invalid command',
+  e2 => 'Error: $_[0]',
+  e3 => '$_[0]: $_[1] not found',
+  e4 => 'Need at least a prefix or callsign',
+  e5 => 'Not Allowed',
+  email => 'E-mail address set to: $_[0]',
+  heres => 'Here set on $_[0]',
+  hereu => 'Here unset on $_[0]',
+  homebbs => 'Home BBS set to: $_[0]',
+  homenode => 'Home Node set to: $_[0]',
   l1 => 'Sorry $_[0], you are already logged on on another channel',
   l2 => 'Hello $_[0], this is $main::mycall located in $main::myqth',
+  m2 => '$_[0] Information: $_[1]',
+  node => '$_[0] set as AK1A style Node',
+  nodee1 => 'You cannot use this command whilst your target ($_[0]) is on-line',
   pr => '$_[0] de $main::mycall $main::cldate $main::ztime >',
-  e1 => 'Invalid command',
-  e2 => 'Error: $_[0]',
+  priv => 'Privilege level changed on $_[0]',
+  prx => '$main::$mycall >',
+  talks => 'Talk flag set on $_[0]',
+  talku => 'Talk flag unset on $_[0]',
+  wwvs => 'WWV flag set on $_[0]',
+  wwvu => 'WWV flag unset on $_[0]',
 );
 
 sub msg
@@ -33,7 +55,8 @@ sub msg
   my $self = shift;
   my $s = $msgs{$self};
   return "unknown message '$self'" if !defined $s;
-
-  return eval '"'. $s . '"';
+  my $ans = eval qq{ "$s" };
+  confess $@ if $@;
+  return $ans;
 }