This project includes a Telegram bot designed to enforce subscription to a specific channel before allowing users to interact in a group chat. It's built using Go and integrates with the Telegram Bot API using gotgbot.
- Exit and reopen your terminal, then verify the installation with
go version
.
git clone https://github.com/udhos/update-golang dlgo && cd dlgo && sudo ./update-golang.sh && source /etc/profile.d/golang_path.sh
- Clone the repository:
git clone https://github.com/Abishnoi69/Force-Sub-Bot fSub && cd fSub
- Prepare the environment file:
- Copy the sample environment file:
cp sample.env .env
- Open env:
vi .env
- Edit the
.env
file with your preferred editor. Instructions for editing invi
:- Press
ษช
to start editing. - Press
Ctrl + C
once editing is complete, then type:wq
to save and exit, or:qa
to exit without saving.
- Press
- Copy the sample environment file:
- Start a new
tmux
session:sudo apt install tmux && tmux
- Run the bot:
go run .
- Fork this repository ๐ด
- Login your Vercel account
- Go to your Add New Project
- Choose the repository you forked
- Configure the environment variables:
DB_URI
Redis - Tap on Deploy
Once the bot is running, it will enforce subscription to a specific channel before allowing users to interact in the group chat. Users not subscribed to the channel will be prompted to do so.
/start
- Start the bot./fsub
- Set the channel for force subscription. Reply to a forwarded message from the channel you wish to set./fsub on
- Enable force subscription mode./fsub off
- Disable force subscription mode./fsub
- Get the current force subscription status./getChats
- Get all chats./getUsers
- Get all users who started in private./getAllBots
- Get all bots running on webhook.
Feel free to visit LICENSE for more details.
Contributions are welcome! For bug reports, feature requests, or pull requests, please open an issue or submit your changes directly.
For any questions or concerns, please contact me at Telegram.