PHPackages                             yoopl/viberbot - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. yoopl/viberbot

ActiveProject[Utility &amp; Helpers](/categories/utility)

yoopl/viberbot
==============

Laravel package for Viber bot creation

v0.7(4y ago)04MITPHPPHP &gt;=7.2

Since Mar 24Pushed 4y agoCompare

[ Source](https://github.com/yoopl/laravel-viberbot)[ Packagist](https://packagist.org/packages/yoopl/viberbot)[ RSS](/packages/yoopl-viberbot/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (8)Used By (0)

Viber Bot
=========

[](#viber-bot)

The purpose of this package is to allow the use of the Viber Bot option for transactional communication with your customers, unlike other packages that are geared for advertising broadcast or answering support questions.

This package is based on *paragraf-lex/viber-bot*.

Installation
============

[](#installation)

Install through Composer.

Setup
=====

[](#setup)

Env
---

[](#env)

Set the following parameters in your .env file:

`VIBERBOT_API=viber_token VIBERBOT_NAME=name  VIBERBOT_PHOTO=photo VIBERBOT_LOG=true VIBERBOT_SEND=true`

Config
------

[](#config)

Additional configuration is available through the config file. You can publish it to your config folder:

`php artisan vendor:publish --tag=viberBot`

Webhook
-------

[](#webhook)

To publish your webhook setup your route and run the following artisan command with the route name as argument:

`php artisan viberbot:webhook route_name`

Logging
-------

[](#logging)

Use the env/config parameter to turn on or off the logging of incoming hook calls and outgoing viber messages. Useful for debugging or saving a history of conversations.

*You need to setup two logging channels called `viberbot` and `viberbot_hook` if you activate logging.*

Subscribing a user
==================

[](#subscribing-a-user)

Use the Bot to listen to ConversationStarted events, so you can send a message to the customer, prompting a subscription to your bot. Make sure you save the viber ID that you receive upon subscription!

You can also build your Bot to answer questions, if you need to.

Sending a message
=================

[](#sending-a-message)

Use the Client to send messages to your subscribers and build your notifications!

1. Create a message that extends one of the ViberMessage classes from the package, i.e. `Boyo\Viberbot\Messages\TextMessage`
2. Set the `$this->text` parameter (for a text message), and any other needed parameter (keyboards, media, etc.), within the Message class construct
3. Create an instance of the Client `$client = new ViberClient();`
4. Send the message, passing a ViberUser model (the recipient) `$client->send($message,$user)`

Builiding a notification
========================

[](#builiding-a-notification)

1. Add the viberbot channel to the via parameter in your Laravel notification `$via[] = ViberbotChannel::class;`
2. Create a method `toViberbot($notifiable)`
3. In this method return a Viber Message which extends one of the classes from the package, i.e. `Boyo\Viberbot\Messages\TextMessage`
4. Set the `$this->text` parameter (for a text message), and any other needed parameter (keyboards, media, etc.), within the Message class construct

###  Health Score

21

—

LowBetter than 18% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 96.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~92 days

Recently: every ~113 days

Total

6

Last Release

1785d ago

PHP version history (2 changes)v0.1.betaPHP &gt;=7.1.3

v0.7PHP &gt;=7.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/f2613d364826cc6423eb6864ff0aed7c7bc7558a4a64e66fe31c2c4c0a85d75b?d=identicon)[yoopl](/maintainers/yoopl)

---

Top Contributors

[![boyanraichev](https://avatars.githubusercontent.com/u/15925335?v=4)](https://github.com/boyanraichev "boyanraichev (25 commits)")[![v-nuzhda](https://avatars.githubusercontent.com/u/149466180?v=4)](https://github.com/v-nuzhda "v-nuzhda (1 commits)")

---

Tags

laravelbotviber

### Embed Badge

![Health badge](/badges/yoopl-viberbot/health.svg)

```
[![Health](https://phpackages.com/badges/yoopl-viberbot/health.svg)](https://phpackages.com/packages/yoopl-viberbot)
```

###  Alternatives

[grumpydictator/firefly-iii

Firefly III: a personal finances manager.

22.8k69.3k](/packages/grumpydictator-firefly-iii)[gehrisandro/tailwind-merge-laravel

TailwindMerge for Laravel merges multiple Tailwind CSS classes by automatically resolving conflicts between them

341682.2k18](/packages/gehrisandro-tailwind-merge-laravel)[backpack/basset

Dead-simple way to load CSS or JS assets only once per page, when using Laravel 10+.

202832.4k6](/packages/backpack-basset)[firefly-iii/data-importer

Firefly III Data Import Tool.

7545.8k](/packages/firefly-iii-data-importer)[nickurt/laravel-akismet

Akismet for Laravel 11.x/12.x/13.x

97139.6k2](/packages/nickurt-laravel-akismet)[nickurt/laravel-stopforumspam

StopForumSpam for Laravel 11.x/12.x/13.x

6953.9k](/packages/nickurt-laravel-stopforumspam)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
