Lumina is a Telegram bot assistant designed to provide intelligent interactions, automated responses, and versatile communication tools.
- Join here: https://t.me/+K3SoAlqE9_RjMzE1
- AI-Powered Responses: Intelligent and context-aware conversations
- Automated Greetings: Smart, personalized welcome messages
- Voice Generation: AI-generated voice responses with
/Lumina
command - ChatGPT Integration: Direct access to advanced AI conversations with
/ChatGPT
command
- Admin Privileges Required:
- Lumina requires admin privileges to function fully in group chats
- Without admin rights, bot functionality will be limited
- Exclusive Owner Commands
- Specific commands are restricted to bot owner
- Owner identified by
OWNER_ID
in environment configuration - Example of owner-only command structure:
module.exports = { name: 'sampleName', description: 'sampleDescription', owner: true, execute: async (bot, msg, args, db) => { } }
- Node.js (v14.0.0 or higher)
- npm (Node Package Manager)
- Telegram account
-
Environment Variables: Create a
.env
file with the following configurations:TELEGRAM_BOT_TOKEN=your_telegram_bot_token OWNER_ID=your_telegram_user_id URL=https://your_deployment_url UPTIME_URL=your_uptime_monitoring_url
- Obtaining Bot Token:
- Visit BotFather on Telegram
- Use the /newbot command to create a new bot
- Choose a name and username for your bot
- BotFather will provide you with a bot token
- Obtaining ID:
- Search for a User ID Bot: You can search for a bot like @userinfobot on Telegram.
- Start the Bot: Click on the bot and press the "Start" button.
- Get Your User ID in .env: The bot will respond with your user ID and other information.
- Setting up your Owner ID:
OWNER_ID=your_telegram_user_id
- Webhook Configuration
- The bot uses a webhook for receiving updates
- Set the URL and PORT in the .env file
- Ensure your hosting platform supports webhooks
-
Installation:
npm install
-
Run the Bot:
node index.js
Lumina's commands follow a standardized structure:
module.exports = {
name: 'commandName', // Unique command identifier
description: 'Command purpose', // Brief description of the command
owner: false, // Optional: Restrict to bot owner
execute: async (bot, msg, args) => {
// Command implementation
}
};
name
: The trigger for the command (e.g., 'fact')description
: Explains what the command doesowner
: (Optional) Boolean to restrict command to bot ownerexecute
: Async function containing the command's logicbot
: Telegram bot instancemsg
: Message objectargs
: Optional command arguments
- autoReactHandler
- automatedResponses
- commandHandler
- eventReminder
- groupManager
- moderationTools
- ownerHandler
- Uses a simple JSON-based database system
- Stores user data, group information, and game states
- Located in the utils/database.js file
- Easily add new commands by creating files in the commands directory
- Modify existing command behavior in their respective files
- Customize welcome/goodbye messages and images in the groupManager.js file
Lumina's behavior can be customized through:
- Handler configurations
- Environment variable settings
- Custom command implementations
/start
: Initialize bot interaction/help
: Display available commands/Lumina
: Trigger AI-powered response with voice generation/ChatGPT
: Direct access to ChatGPT conversation
/clearcache
: Clear bot's internal cache/clear
: Clear all messages except confirmationmanagegroups
: Manage groups: list, leave, or set auto-leave
Contributions are welcome! Please submit pull requests or open issues for feature suggestions and improvements.
MIT License - See LICENSE for details
Encounter issues? Open a GitHub issue or contact support through Telegram.
Lumina: Your Intelligent Telegram Companion 🌟