Skip to content

rezasadid753/eventgram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

📅 EventGram: Your Telegram Event Assistant

PHP MySQL Telegram License

Effortless event planning, right inside your Telegram groups.
Say goodbye to messy threads. Create, announce, and sync events with a conversational bot.


🚀 Overview

EventGram is an automated assistant designed to make group coordination frictionless. Whether you're managing a university club, a corporate team, or a local meetup, EventGram guides you through a step-by-step conversational flow to publish perfectly formatted event announcements.

✨ Why EventGram?

  • No Forms Required: Use a simple chat interface to input dates, locations, and details.
  • Google Calendar Sync: Automatically generates "Add to Calendar" links for all attendees.
  • Topic-Aware: Built specifically for modern Telegram Supergroups—send announcements to specific Topics to keep discussions organized.
  • Database-Backed: All events are stored in MySQL for reliability and future retrieval.
  • Anti-Error Logic: The bot validates dates and times in real-time, preventing "impossible" event scheduling.

🛠️ Feature Breakdown

Feature Description
Conversational UI A stepwise flow that prevents information overload.
Dynamic Keyboards Interactive buttons for selecting years, months, and times.
Confirmation Stage Review a full preview of your announcement before it goes live.
Supergroup Topics Direct your event posts to the specific thread where they belong.
Hybrid Support Handles both Online (Links) and In-Person (Locations) events.
Automated Reminders Structured messages with one-click Google Calendar integration.

🧬 How It Works

graph TD
    A[User: /start] --> B(Conversational Input)
    B --> B1[Presenter & Title]
    B1 --> B2[Date & Time Selection]
    B2 --> B3[Type: Online / In-Person]
    B3 --> B4[Target Group Topic]
    B4 --> C{Review Preview}
    C -->|Edit| B
    C -->|Confirm| D[MySQL: Store Event]
    D --> E[Post to Group Topic]
    E --> F[Generate Google Calendar Link]
    
    style B fill:#f9f,stroke:#333
    style E fill:#00d2ff,stroke:#333
    style F fill:#00d2ff,stroke:#333
Loading

⚙️ Technical Stack

  • Engine: PHP 8.x (Modular, Function-based design)
  • Database: MySQL (Structured with prepared statements for security)
  • Interface: Telegram Bot API (Webhooks)
  • Logic: Native PHP DateTime handling for timezone-aware scheduling.

📦 Installation & Setup

  1. Bot Creation:

    • Message @BotFather on Telegram to create your bot and get an API Token.
  2. Server Setup:

    • Upload eventgram.php to your SSL-enabled web server.
    • Update the configuration constants at the top of the file:
      define('BOT_TOKEN', 'YOUR_TOKEN_HERE');
      define('DB_HOST', 'localhost');
      define('DB_NAME', 'eventgram_db');
      // ... etc
  3. Database Configuration:

    • Import the provided schema into your MySQL instance.
  4. Set Webhook:

    • Point Telegram to your script: https://api.telegram.org/bot<YOUR_TOKEN>/setWebhook?url=https://yourserver.com/eventgram.php

🎯 Use Cases

  • Study Groups: Coordinate weekly review sessions.
  • Gaming Communities: Schedule raids or tournament brackets.
  • Corporate Teams: Announce stand-ups or coffee breaks in specific Slack-like Topics.
  • Clubs/Societies: Manage guest speaker appearances and RSVP tracking.

🧹 Maintenance & Extensions

The modular design allows you to easily add:

  • RSVP Tracking: Add a button for "I'm Attending" that updates the DB.
  • Reminders: Create a cron job to ping the group 1 hour before the event.
  • Multi-language Support: Wrap strings in a translation function.

📜 License

Distributed under the MIT License. See LICENSE for more information.


Built with ❤️ for the Telegram Community.

About

EventGram is a Telegram bot that simplifies event management in Telegram groups. It helps you create events, send announcements to specific topics, and automatically add reminders to Google Calendar. Perfect for clubs, teams, or study groups to keep everyone on the same page with minimal effort.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages