explaingit

royp888/sola-bot

13GoAudience · developerComplexity · 4/5Setup · hard

TLDR

Sola is an all-in-one platform for running Telegram group communities, combining a moderation bot, web admin panel, scheduled posts, a points/lottery system, and a Mini App into one deployable package.

Mindmap

mindmap
  root((Sola Bot))
    Moderation
      Ban and mute users
      Keyword filtering
      Join verification
      AI spam check
    Points System
      Earn points for activity
      Leaderboards
      Cooldown rules
    Scheduled Posts
      One-time posts
      Recurring posts
      Auto-delete
    Lottery
      Button entry
      Code word entry
      Auto draw winners
    Admin Panel
      Group settings
      User management
      Backup and restore
    Tech
      Go backend
      PostgreSQL Redis
      Vue 3 frontend
      Docker Compose
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run a fully managed Telegram community with auto-moderation, welcome messages, and spam filtering without stitching scripts together.

USE CASE 2

Engage members with a points leaderboard and automatic lottery draws to reward participation.

USE CASE 3

Schedule recurring announcements or promotions to go out automatically inside your Telegram group.

USE CASE 4

Use the web admin panel to manage multiple groups, review violation logs, and back up settings from a browser.

Tech stack

GoPostgreSQLRedisVue 3Docker ComposeNginxTelegram Bot APIOpenAI API

Getting it running

Difficulty · hard Time to first run · 1h+

Requires Docker Compose, a PostgreSQL database, Redis, a Telegram Bot token, and an OpenAI-compatible API key. Nginx reverse proxy config is included. Mini App and multi-bot management are noted as early-stage.

Open-source project, check the repository for the specific license terms before using it in a commercial product.

In plain English

Sola is an open-source platform for running Telegram group communities. It goes well beyond a simple command bot: it combines a live Telegram bot, a web-based admin panel, a background task worker, and a Telegram Mini App into a single deployable system. The target audience is anyone building a long-term Telegram product who needs user management, moderation tools, and operational data in one place rather than patching together separate scripts. The bot itself handles a full set of group administration tasks: banning and muting users, managing welcome messages, running join verification challenges, filtering keywords and links, and tracking violations with an audit trail. It also connects to an OpenAI-compatible API for a second-pass AI check on suspected spam messages. On top of moderation, it runs a points system where members earn scores for participation, with cooldown periods to prevent gaming, leaderboards, and configurable rules per group. The scheduled posting module lets admins create one-time or recurring posts that go out automatically, with optional auto-delete and automatic disabling if a post fails repeatedly. There is also a lottery module where members can enter by clicking a button or submitting a code word, and winners are drawn automatically at a set time. The web admin panel covers all of the above through a browser interface: group settings, user management, points configuration, violation records, post scheduling, and lottery management. There is also a backup and restore feature for configuration data. The Mini App provides a lighter in-Telegram interface for the same functions. The backend is written in Go using PostgreSQL and Redis. The frontend uses Vue 3. Everything runs via Docker Compose with Nginx in front. The README notes the project is suitable as a base for customization and that some areas, particularly the Mini App and multi-bot lifecycle management, are still early.

Copy-paste prompts

Prompt 1
I'm setting up Sola Bot from royp888/sola-bot using Docker Compose. Walk me through the minimum environment variables and config I need to get the Telegram bot and web admin panel running locally.
Prompt 2
Using the royp888/sola-bot codebase (Go + PostgreSQL), explain how the points system works and how I can change the rules so members earn more points for sending images than plain text.
Prompt 3
I want to add a new moderation rule to royp888/sola-bot that automatically mutes users who post more than 5 messages in 60 seconds. Where in the Go codebase should I add this, and what's the pattern used by existing rules?
Prompt 4
Show me how the scheduled posts module in royp888/sola-bot handles retry logic when a post fails, and how I can increase the failure threshold before a post gets auto-disabled.
Prompt 5
I want to customize the Sola lottery module (royp888/sola-bot) so that only members with at least 100 points can enter. Which files do I need to edit and what does the entry-validation flow look like?
Open on GitHub → Explain another repo

← royp888 on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.