alirezajavadi / framebot
FrameBot is a fast and secure framework that offers an ORM similar to Eloquent, making it incredibly user-friendly and powerful for developers looking to handle database operations efficiently. Designed with OOP principles in mind, FrameBot provides a robust foundation for building scalable applicat
Installs: 8
Dependents: 0
Suggesters: 0
Security: 0
Stars: 71
Watchers: 2
Forks: 15
Open Issues: 0
Type:project
Requires
- php: ^8.1
- guzzlehttp/guzzle: ^7.8
- vlucas/phpdotenv: ^5.6
README
A Modern PHP Framework for Telegram Bot Development & Database Management
Fast ยท Secure ยท Eloquent-style ORM ยท Telegram API First
๐บ Getting Started Video
โจ Key Features
๐๏ธ Database Superpowers
- Eloquent-style ORM - Familiar Active Record implementation
$user = User::find(1)->update(['username' => 'framebot_user']);
- Migrations System - Version-controlled database schema management
- Relationship Support - HasMany, BelongsTo, Polymorphic relations
๐ค Telegram Integration
- Auto-Send Architecture - RAII pattern for seamless API calls
Message::chatId($this->chatID)->text("welcome to my telegram bot"); // Automatically sends on destruct
25+ API Components - Pre-built classes for:
- ๐ Locations & Venues
- ๐ฒ Interactive Dice/Polls
- ๐ Media Groups & Paid Content
- ๐ญ Message Reactions
๐ก๏ธ Security First
- Dotenv Implementation - Secure credential management
- Auto-Sanitization - Built-in parameter validation
- Request Throttling - Protection against API abuse
Section 3: Quick Start
๐ Quick Start
Requirements
- PHP 8.0+
- Composer
- MySQL
Installation
git clone https://github.com/alirezajavadigit/framebot.git
cd framebot
composer install
cp .env.example .env
Configuration (.env)
# Telegram Configuration TOKEN=your_bot_token_here APP_ENV=production # Database Settings DB_HOST=127.0.0.1 DB_NAME=framebot DB_USERNAME=root DB_PASSWORD=
Section 5: Contributing & Community
๐ค Contributing
We welcome contributions! Please follow these steps:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit changes (
git commit -m 'Add some amazing feature'
) - Push to branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Contribution Guidelines:
- Follow PSR-12 coding standards
- Include PHPDoc comments
- Add unit tests for new features
- Update documentation accordingly
๐ Community
- GitHub Discussions - Q&A and general help
- Telegram Channel - Announcements & updates & Q&A
๐ License
MIT License - See LICENSE for full text
Created with โค๏ธ by Alireza Javadi
Part of the Open Source Telegram Bot Ecosystem ๐ค