nutgram / starter-kit
Starter kit for Nutgram
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/nutgram/starter-kit
Requires
- php: ^8.2
- nutgram/nutgram: ^4.40.0
- symfony/cache: ^8.0
- vlucas/phpdotenv: ^5.6
Requires (Dev)
- pestphp/pest: ^4.0
This package is auto-updated.
Last update: 2026-01-11 22:17:47 UTC
README
This is a lightweight starter kit for building Telegram bots using the Nutgram PHP framework.
Features
- Nutgram Framework: High-performance Telegram Bot framework.
- Environment Configuration: Easy management of environment variables with
phpdotenv. - Caching: PSR-16 cache support out of the box.
- Testing: Ready-to-use testing environment with Pest.
- Structured: Organized directory structure for Commands and Conversations.
Requirements
- PHP 8.2 or higher
- Composer
Usage
-
Create the project:
composer create-project nutgram/starter-kit my-telegram-bot cd my-telegram-bot -
Install dependencies:
composer install
-
Configure the environment: Copy the example environment file and add your Telegram Bot token:
cp .env.example .env
Edit
.envand set yourTOKEN:TOKEN=your_telegram_bot_token_here WEBHOOK_TOKEN=random_webhook_token
Usage
Running the Bot
Polling Mode
To run the bot in polling mode (ideal for development), execute:
php bot.php
Webhook Mode
To use the webhook mode, point your web server's document root to the public/ directory. Ensure your server is accessible via HTTPS.
Finally, you need to register your webhook URL with Telegram. You can do this by making an HTTP request (e.g., using curl) to the following address:
curl "https://api.telegram.org/botTOKEN/setWebhook?secret_token=WEBHOOK_TOKEN&url=https://YOUR_DOMAIN"
Replace:
TOKENwith the same value you used in your.envfilehttps://YOUR_DOMAINwith your actual webhook URL.WEBHOOK_TOKENwith the same value you used in your.envfile
Project Structure
src/routes.php: Register your commands, conversations, and handlers.src/bootstrap.php: Bot initialization and configuration.public/index.php: Entry point for both polling and webhook.tests/: Feature and unit tests.
Running Tests
You can run the tests using Pest:
composer test
License
This project is open-sourced software licensed under the MIT license.