Эх сурвалжийг харах

... исправление множества ошибок

Yuriy Zhilovets 3 сар өмнө
parent
commit
1a8e49f68a
4 өөрчлөгдсөн 21 нэмэгдсэн , 20 устгасан
  1. 0 5
      abonbot.pl
  2. 19 13
      modules/commands.pm
  3. 1 1
      modules/rules.pm
  4. 1 1
      start

+ 0 - 5
abonbot.pl

@@ -25,8 +25,6 @@ use FindBin qw/$Bin/;
 use lib "$Bin/lib";
 use lib "$Bin/lib";
 use lib "$Bin/modules";
 use lib "$Bin/modules";
 
 
-use rabbit_async_rec;
-
 use darsan_auth;
 use darsan_auth;
 use darsan_client;
 use darsan_client;
 use rabbit_async_rec;
 use rabbit_async_rec;
@@ -562,6 +560,3 @@ request("setWebhook",{url=>""})->then(sub
 });
 });
 
 
 app->start;
 app->start;
-
-# не принимать edited_message вообще и не реагировать на них, если их не ждут где-то явным образом
-# редактирование заявки

+ 19 - 13
modules/commands.pm

@@ -67,7 +67,7 @@ async sub command_logout
   my $uid = $fsa->note("[uid]");
   my $uid = $fsa->note("[uid]");
 
 
   await $client->delete_p("client", "/client/$uid/telegram");
   await $client->delete_p("client", "/client/$uid/telegram");
-  reply($info, _("Благодарим за использование нашего бота"));
+  reply_with($info, {button_menu => 0}, _("Благодарим за использование нашего бота"));
 
 
   $fsa->delete_note("[uid]");
   $fsa->delete_note("[uid]");
   $fsa->state("logged_out");
   $fsa->state("logged_out");
@@ -86,7 +86,7 @@ async sub command_balance
       _("Ваш баланс"), $money->{balance}, ("депозит"), $money->{deposit}, _("кредит"), $money->{credit}),
       _("Ваш баланс"), $money->{balance}, ("депозит"), $money->{deposit}, _("кредит"), $money->{credit}),
   );
   );
   
   
-  push @lines, sprintf("<u>%s:</u> %s", _("Оплачено до"), format_date($money->{last_day})) if $money->{last_day} ne "-";
+  push @lines, sprintf("<u>%s:</u> %s", _("Оплачено включительно до"), format_date($money->{last_day})) if $money->{last_day} ne "-";
   push @lines, sprintf("<u>%s:</u> %d%%", _("Скидка"), $money->{reduction}) if $money->{reduction};
   push @lines, sprintf("<u>%s:</u> %d%%", _("Скидка"), $money->{reduction}) if $money->{reduction};
 
 
   push @lines, sprintf("<u>%s:</u> <b>%.2f $cur</b>  %s (%s)", 
   push @lines, sprintf("<u>%s:</u> <b>%.2f $cur</b>  %s (%s)", 
@@ -127,7 +127,8 @@ async sub command_credit
 
 
   if ($money->{credit} > 0)
   if ($money->{credit} > 0)
   {
   {
-    return reply($info, sprintf("%s <b>%.2f %s</b>", _("У вас уже установлен кредит"), $money->{credit}, $money->{human}));
+    return reply($info, sprintf("%s <b>%.2f %s</b>. %s", _("У вас уже установлен кредит"), $money->{credit}, $money->{human}, 
+      _("Продлевать кредит повторно до оплаты нельзя. При следующей оплате кредит будет погашен")));
   }
   }
   
   
   reply_with($info, {
   reply_with($info, {
@@ -186,7 +187,12 @@ async sub verify_xfer_to
   return _("Номер личного счета должен состоять из цифр") unless $target_uid =~ /^\d+$/;
   return _("Номер личного счета должен состоять из цифр") unless $target_uid =~ /^\d+$/;
   return _("Нельзя перевести деньги себе самому") if $uid==$target_uid;
   return _("Нельзя перевести деньги себе самому") if $uid==$target_uid;
      
      
-  my $res = await $abon_client->get_p($info, "client", "/client/$target_uid");
+  my $res = eval { await $abon_client->get_p($info, "client", "/client/$target_uid") };
+  if ($@)
+  {
+    die $@ unless $@->{code} == 404;
+    return _("Абонент") . " $target_uid " . _("не найден");
+  }
   return _("Абонент") . " $target_uid " . _("отключен") if $res->{disabled};
   return _("Абонент") . " $target_uid " . _("отключен") if $res->{disabled};
   
   
   $fsa->note("xfer_fio" => $res->{fio});
   $fsa->note("xfer_fio" => $res->{fio});
@@ -257,13 +263,13 @@ async sub callback_transfer
   my $amount = $fsa->note("xfer_amount");
   my $amount = $fsa->note("xfer_amount");
   return unless $to_uid && $amount;
   return unless $to_uid && $amount;
   
   
-  my $res = $abon_client->post_p($info, "client", "/client/$uid/money/to/$to_uid", {
+  my $res = await $abon_client->post_p($info, "client", "/client/$uid/money/to/$to_uid", {
      amount => $amount,
      amount => $amount,
      ip => "0.0.0.0",
      ip => "0.0.0.0",
      via => "abonbot",
      via => "abonbot",
      currency => $config->{currency}->{name},
      currency => $config->{currency}->{name},
   });
   });
-
+  
   reply_with($info, {button_menu=>1}, _("Деньги успешно переведены"));
   reply_with($info, {button_menu=>1}, _("Деньги успешно переведены"));
   command_balance($fsa, $info);
   command_balance($fsa, $info);
 }
 }
@@ -326,7 +332,7 @@ async sub command_tasks
   my ($fsa, $info) = @_;
   my ($fsa, $info) = @_;
   my $uid = $fsa->note("[uid]");
   my $uid = $fsa->note("[uid]");
   
   
-  my $res = await $abon_client->get_p($info, "task", "/task?created_by_client=$uid&list=new,work&sort=id");
+  my $res = await $abon_client->get_p($info, "task", "/task?created_by_client=$uid&list=new,work&sort=id&with_comments_for_client=1");
   
   
   return reply($info, _("Открытых заявок нет")) unless $res->{total};
   return reply($info, _("Открытых заявок нет")) unless $res->{total};
   
   
@@ -348,12 +354,12 @@ async sub callback_task
   my ($fsa, $info, $task_id) = @_;
   my ($fsa, $info, $task_id) = @_;
   my $uid = $fsa->note("[uid]");
   my $uid = $fsa->note("[uid]");
   
   
-  my $res = await $client->get_p("task", "/task/$task_id?with_comments=1");
+  my $res = await $client->get_p("task", "/task/$task_id?with_comments_for_client=1");
   
   
   my @str = map {
   my @str = map {
     format_timestamp($_->{created}) . " " . "<b>" . ($_->{created_by}->[0] eq "worker" ? _("Оператор") : _("Вы")) . ":</b>\n"
     format_timestamp($_->{created}) . " " . "<b>" . ($_->{created_by}->[0] eq "worker" ? _("Оператор") : _("Вы")) . ":</b>\n"
     . $_->{text}
     . $_->{text}
-  } grep { $_->{visibleToUser} } @{ $res->{comments} };
+  } @{ $res->{comments} };
   
   
   my $menu = [[
   my $menu = [[
     {text => _("Добавить комментарий"), callback_data => "\x00comment $task_id"},
     {text => _("Добавить комментарий"), callback_data => "\x00comment $task_id"},
@@ -473,25 +479,25 @@ async sub pay_from_card
 
 
      unless($@)
      unless($@)
      {     
      {     
-       return reply_with($info, {button_menu=>1}, _("Ваш счёт пополнен на " . $res->{amount} . " " . $res->{currency_short_name_ru} . ". " . _("Оплачено до ") . $res->{paid_until}));
+       return reply_with($info, {button_menu=>1}, _("Ваш счёт пополнен на " . $res->{amount} . " " . $res->{currency_short_name_ru} . ". " . _("Оплачено включительно до ") . $res->{paid_until}));
      };
      };
 
 
      given($@->{code})
      given($@->{code})
      {
      {
        when(400)
        when(400)
        {
        {
-         reply_with($info, {button_menu=>1}, _("Вы ввели неправильный номер или код карточки"));
+         reply_with($info, {button_menu=>1}, _("Вы ввели неправильный номер или код карточки."), _("Пополнение прервано"));
          my $key    = "card-guess-$uid";
          my $key    = "card-guess-$uid";
          $redis->incr($key);
          $redis->incr($key);
          $redis->expire($key, 24 * 3600);
          $redis->expire($key, 24 * 3600);
        }
        }
        when(409) 
        when(409) 
        {
        {
-          reply_with($info, {button_menu=>1}, _("Карточка уже использована"));
+          reply_with($info, {button_menu=>1}, _("Карточка уже использована."), _("Пополнение прервано"));
        }
        }
        when(406) 
        when(406) 
        {
        {
-          reply_with($info, {button_menu=>1}, _("Карточка не активирована. Обратитесь в службу поддержки"));
+          reply_with($info, {button_menu=>1}, _("Карточка не активирована. Обратитесь в службу поддержки."), _("Пополнение прервано"));
        }
        }
        default 
        default 
        {
        {

+ 1 - 1
modules/rules.pm

@@ -26,7 +26,7 @@ my $rules = {
    
    
      if ($line ne "/start")
      if ($line ne "/start")
      {
      {
-       reply($info, _("Для начала работы наберите <b>/start</b>"));
+       reply_with($info, { button_menu => 0 }, _("Для начала работы наберите <b>/start</b>"));
        return "logged_out";
        return "logged_out";
      }
      }
 
 

+ 1 - 1
start

@@ -9,7 +9,7 @@ then
   exit 1
   exit 1
 fi
 fi
 
 
-cd /var/opt/djinn
+cd /var/opt/abonbot
 ./abonbot.pl daemon --mode $MODE --listen http://127.0.0.1:2218
 ./abonbot.pl daemon --mode $MODE --listen http://127.0.0.1:2218