|
|
@@ -67,7 +67,7 @@ async sub command_logout
|
|
|
my $uid = $fsa->note("[uid]");
|
|
|
|
|
|
await $client->delete_p("client", "/client/$uid/telegram");
|
|
|
- reply($info, _("Благодарим за использование нашего бота"));
|
|
|
+ reply_with($info, {button_menu => 0}, _("Благодарим за использование нашего бота"));
|
|
|
|
|
|
$fsa->delete_note("[uid]");
|
|
|
$fsa->state("logged_out");
|
|
|
@@ -86,7 +86,7 @@ async sub command_balance
|
|
|
_("Ваш баланс"), $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> <b>%.2f $cur</b> %s (%s)",
|
|
|
@@ -127,7 +127,8 @@ async sub command_credit
|
|
|
|
|
|
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, {
|
|
|
@@ -186,7 +187,12 @@ async sub verify_xfer_to
|
|
|
return _("Номер личного счета должен состоять из цифр") unless $target_uid =~ /^\d+$/;
|
|
|
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};
|
|
|
|
|
|
$fsa->note("xfer_fio" => $res->{fio});
|
|
|
@@ -257,13 +263,13 @@ async sub callback_transfer
|
|
|
my $amount = $fsa->note("xfer_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,
|
|
|
ip => "0.0.0.0",
|
|
|
via => "abonbot",
|
|
|
currency => $config->{currency}->{name},
|
|
|
});
|
|
|
-
|
|
|
+
|
|
|
reply_with($info, {button_menu=>1}, _("Деньги успешно переведены"));
|
|
|
command_balance($fsa, $info);
|
|
|
}
|
|
|
@@ -326,7 +332,7 @@ async sub command_tasks
|
|
|
my ($fsa, $info) = @_;
|
|
|
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};
|
|
|
|
|
|
@@ -348,12 +354,12 @@ async sub callback_task
|
|
|
my ($fsa, $info, $task_id) = @_;
|
|
|
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 {
|
|
|
format_timestamp($_->{created}) . " " . "<b>" . ($_->{created_by}->[0] eq "worker" ? _("Оператор") : _("Вы")) . ":</b>\n"
|
|
|
. $_->{text}
|
|
|
- } grep { $_->{visibleToUser} } @{ $res->{comments} };
|
|
|
+ } @{ $res->{comments} };
|
|
|
|
|
|
my $menu = [[
|
|
|
{text => _("Добавить комментарий"), callback_data => "\x00comment $task_id"},
|
|
|
@@ -473,25 +479,25 @@ async sub pay_from_card
|
|
|
|
|
|
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})
|
|
|
{
|
|
|
when(400)
|
|
|
{
|
|
|
- reply_with($info, {button_menu=>1}, _("Вы ввели неправильный номер или код карточки"));
|
|
|
+ reply_with($info, {button_menu=>1}, _("Вы ввели неправильный номер или код карточки."), _("Пополнение прервано"));
|
|
|
my $key = "card-guess-$uid";
|
|
|
$redis->incr($key);
|
|
|
$redis->expire($key, 24 * 3600);
|
|
|
}
|
|
|
when(409)
|
|
|
{
|
|
|
- reply_with($info, {button_menu=>1}, _("Карточка уже использована"));
|
|
|
+ reply_with($info, {button_menu=>1}, _("Карточка уже использована."), _("Пополнение прервано"));
|
|
|
}
|
|
|
when(406)
|
|
|
{
|
|
|
- reply_with($info, {button_menu=>1}, _("Карточка не активирована. Обратитесь в службу поддержки"));
|
|
|
+ reply_with($info, {button_menu=>1}, _("Карточка не активирована. Обратитесь в службу поддержки."), _("Пополнение прервано"));
|
|
|
}
|
|
|
default
|
|
|
{
|