PHPackages                             viktorprorgger/bot-template - 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. viktorprorgger/bot-template

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

viktorprorgger/bot-template
===========================

Telegram bot template

40[1 issues](https://github.com/botasis/bot-template/issues)[1 PRs](https://github.com/botasis/bot-template/pulls)PHP

Since May 17Pushed 1y ago2 watchersCompare

[ Source](https://github.com/botasis/bot-template)[ Packagist](https://packagist.org/packages/viktorprorgger/bot-template)[ RSS](/packages/viktorprorgger-bot-template/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

!!This template is outdated!!
=============================

[](#this-template-is-outdated)

I will update it to a cutting edge after the [runtime package](https://github.com/botasis/runtime) 1.0 release.

Telegram bot template
=====================

[](#telegram-bot-template)

It's a ready-to-use application template meant to boost creation of a new Telegram bot for you. All you need to start is to write your app logic, everything other is in the template.

Quick Start
-----------

[](#quick-start)

### Prerequisites

[](#prerequisites)

- Your Telegram bot is created via [@BotFather](https://t.me/BotFather), and you know its token
- The latest version of `docker` is installed and running
- Port 3306 for MySQL on your computer is opened (you can configure any other port of your choice in the `.env` file, it's just the default value)

### Installing

[](#installing)

1. `git clone git@github.com:viktorprogger/bot-template.git`
2. Create `.env` file in the project root and set there your bot token to the key `BOT_TOKEN` like this: `BOT_TOKEN=12345:abcdef`. See [`.env.example`](.env.example) to get list of all available environment variables
3. Run `docker compose build php`
4. Run `docker compose --profile console-tools run --rm --no-deps php composer i`
5. Run `docker compose --profile console-tools run --rm --no-deps php vendor/bin/rr get`
6. Run `docker compose --profile main up -d`
7. Type `/start` to your bot in Telegram, and you'll get an answer in half a minute (app asks for the [getUpdates](https://core.telegram.org/bots/api#getupdates) every 30 seconds)

Available docker-compose profiles
---------------------------------

[](#available-docker-compose-profiles)

This repo uses docker-compose profiles mechanism to get only needed services working

- `console-tools` - starts php service only, without DB, AMQP and other services. Useful to run `composer`, `psalm` and other console tools.
- `main` - get your application up and running. It starts `php`, `db` and `amqp` services.
- `full` - get working Loki, Grafana and Promtail for convenient logs reading. This app produces tons of logs, so these services will be useful to get in what's happening inside your app.

To get everything down regardless of a set of running services, run `docker compose down --remove-orphans`

Components
----------

[](#components)

### DBAL

[](#dbal)

This app uses [yiisoft/yii-cycle](https://github.com/yiisoft/yii-cycle) as DBAL. In dev mode it automatically syncs your DB schema with your code, see `\Cycle\Schema\Generator\SyncTables` class.

###  Health Score

16

—

LowBetter than 5% of packages

Maintenance24

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity24

Early-stage or recently created project

 Bus Factor1

Top contributor holds 86.4% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/10acad9038a7b3af2d70f9404bdd4e377bbeb4214277a7cf61ae6fe9884988e6?d=identicon)[miolae](/maintainers/miolae)

---

Top Contributors

[![viktorprogger](https://avatars.githubusercontent.com/u/7670669?v=4)](https://github.com/viktorprogger "viktorprogger (19 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 commits)")

### Embed Badge

![Health badge](/badges/viktorprorgger-bot-template/health.svg)

```
[![Health](https://phpackages.com/badges/viktorprorgger-bot-template/health.svg)](https://phpackages.com/packages/viktorprorgger-bot-template)
```

###  Alternatives

[spatie/dns

Retrieve DNS records

6082.3M17](/packages/spatie-dns)[fancyguy/webroot-installer

A composer installer for libraries that live in an application webroot.

1311.3M15](/packages/fancyguy-webroot-installer)[kartik-v/yii2-widget-colorinput

An enhanced Yii 2 widget encapsulating the HTML 5 color input (sub repo split from yii2-widgets)

324.8M10](/packages/kartik-v-yii2-widget-colorinput)[tonegabes/filament-better-options

Filament form components for better radio and checkbox options.

155.2k](/packages/tonegabes-filament-better-options)[p3ym4n/jdate

Date converter from Jalali to Georgian and vice versa. It has Carbon instance inside and it's Laravel friendly.

101.8k2](/packages/p3ym4n-jdate)

PHPackages © 2026

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