Table of Contents
This project consists of a website and an integrated telegram bot.
The website is intended to collect links to telegram groups and to serve a small student blog. It also contains a page to suggest new links and a contact page.
The Telegram bot organizes groups into multiple menus, based on their category. category. The suggestion and contact pages can also be reached from the telegram bot bot in the form of a mini-webapp. In addition, designated administrators have access to reserved commands and can manage the groups' database directly from the bot's interface.
To get a local copy up and running follow these simple steps:
Install Deno:
-
MacOS/Linux
curl -fsSL https://deno.land/install.sh | sh
-
Windows
irm https://deno.land/install.ps1 | iex
Set up environment variables in the .env file:
-
Telegram bot token given by Bot Father
TELEGRAM_BOT_TOKEN=""
-
Website url
WEBAPP_URL=""
-
MongoDB connection string
MONGO_URI=""
-
Telegram channels IDs*
ADMIN_GROUP_ID="" PUBLIC_GROUP_ID=""
ADMIN_GROUP_ID is the telegram group where the bot sends the logs. All the admins of this group have access to the bot's admin commands.
PUBLIC_GROUP_ID is the telegram group where the bot announces the addition of a new group.
-
Clone the repo
git clone https://github.com/electrogram-project/electrogram.git
-
Run Deno task
deno task start
Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! ⭐️
The telegram bot menus can easily be translated into other languages by creating
a new file .ftl file and adding it to the telegram/locales
folder.
Distributed under the Apache License 2.0. See LICENSE.txt
for more
information.
Electrogram team - electrogram@pm.me
Project Link: https://github.com/electrogram-project/electrogram
All icons used have been created by Freepik
The repositories that helped this project: