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

1.0.0 2026-01-11 21:57 UTC

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

  1. Create the project:

    composer create-project nutgram/starter-kit my-telegram-bot
    cd my-telegram-bot
  2. Install dependencies:

    composer install
  3. Configure the environment: Copy the example environment file and add your Telegram Bot token:

    cp .env.example .env

    Edit .env and set your TOKEN:

    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:

  • TOKEN with the same value you used in your .env file
  • https://YOUR_DOMAIN with your actual webhook URL.
  • WEBHOOK_TOKEN with the same value you used in your .env file

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.