Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remote error: notSubscribed #22

Open
AUDeveloper opened this issue Nov 16, 2017 · 6 comments
Open

Remote error: notSubscribed #22

AUDeveloper opened this issue Nov 16, 2017 · 6 comments
Labels

Comments

@AUDeveloper
Copy link

AUDeveloper commented Nov 16, 2017

Доброго времени суток!
После того как пользователь отправит первое сообщение, при попытке отправить ответное сообщение возникает, следующая ошибка:
exception 'Viber\Api\Exception\ApiException' with message 'Remote error: notSubscribed' in /var/www/html/viber/vendor/bogdaan/viber-bot-php/src/Api/Response.php:37
Stack trace:
#0 /var/www/html/viber/vendor/bogdaan/viber-bot-php/src/Client.php(89): Viber\Api\Response::create(Object(GuzzleHttp\Psr7\Response))
#1 /var/www/html/viber/vendor/bogdaan/viber-bot-php/src/Client.php(176): Viber\Client->call('send_message', Array)
#2 /var/www/html/viber/bot.php(211): Viber\Client->sendMessage(Object(Viber\Api\Message\Text))
#3 [internal function]: {closure}(Object(Viber\Api\Event\Message))
#4 /var/www/html/viber/vendor/bogdaan/viber-bot-php/src/Bot/Manager.php(83): call_user_func(Object(Closure), Object(Viber\Api\Event\Message))
#5 /var/www/html/viber/vendor/bogdaan/viber-bot-php/src/Bot.php(201): Viber\Bot\Manager->runHandler(Object(Viber\Api\Event\Message))
#6 /var/www/html/viber/bot.php(213): Viber\Bot->run()
#7 {main}

Мобильный клиент, версия API 1

@Bogdaan
Copy link
Owner

Bogdaan commented Nov 16, 2017

@AUDeveloper
Copy link
Author

AUDeveloper commented Nov 17, 2017

При получении conversation_started в ответ возвращаю текст приветствия и ошибок не возникает.
Указанная выше ошибка, возникает при попытке отправить пользователю сообщение, когда пользователь пришлет первое сообщение боту:
->onText('|whois .*|si', function ($event) use ($bot, $botSender) { $bot->getClient()->sendMessage( //здесь ошибка (new \Viber\Api\Message\Text()) ->setSender($botSender) ->setReceiver($event->getSender()->getId()) ->setText("I do not know )") ); })

@bulgariamitko
Copy link
Contributor

I am getting same error when trying to send multiples messages at once using foreach loop

foreach ($viberUsers as $vUser) {
        $bot->getClient()->sendMessage(
            (new \Viber\Api\Message\Text())
                ->setSender($botSender)
                ->setReceiver($vUser['ViberID'])
                ->setText($message)
        );
}

@RomanYshko
Copy link

Fatal error: Uncaught Viber\Api\Exception\ApiException: Remote error: notSubscribed не подскажите как можно обойти эту ошибку ? Ошибка заключается в следующем если в массиве все подписаны то тогда все оправляет, а если кто то отписался тогда вот такая ошибка. Вот массивом делаю отправку и он походу стопориться на ошибки когда кто то не подписан, а id остался.
foreach ($viberUsers as $vUser) {
$bot->getClient()->sendMessage(
(new \Viber\Api\Message\Text())
->setSender($botSender)
->setReceiver($vUser['ViberID'])
->setText($message)
);
}

@messiahUA
Copy link

messiahUA commented Jul 17, 2020

@RomanYshko мне кажется в данном случае такая ошибка вполне логична и ожидаема, если действительно получатель отписался от бота, поэтому как вариант можно просто ловить это исключение и удалять соответствующий id.

Я также столкунлся с этой ошибкой (пока) один раз, когда приходит conversation_started и бот не смог отправить первое сообщение.

Возможно, это какой-то баг именно на стороне самого вайбера.

@NikitaKobzar
Copy link

Подскажите, не могу отправить сообщение при событии conversation_started...

$bot = new Bot(['token' => $apiKey]);
    $bot
        ->onConversation(function ($event) use ($bot, $botSender, $log ) {

            $log->info('onConversation ' . var_export($event, true));

            $context = $event->getContext();
            if ($context != "" && $context != null) {
                add_with_referral($event->getSender()->getId(), $event->getSender()->getName(), $context);
            } else {
                add_user($event->getSender()->getId(), $event->getSender()->getName(), $log);
            }

            return (new \Viber\Api\Message\Text)
                ->setSender($botSender)
                ->setText("Can i help you?");
        })

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants