/Userge

Userge, Durable as a Serge

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Userge
Pluggable Telegram UserBot
Inspiration  •  Features  •  Example  •  Requirements  •  Project Credits  •  Copyright & License

Userge 🔥

Build Status Python Version Release Stars Forks Issues Open Issues Closed PRs Open PRs Closed Contributors Repo Size License Commit Activity Plugins Repo! Join Channel! DeepSource Gitpod ready-to-code

Userge is a Powerful , Pluggable Telegram UserBot written in Python using Pyrogram.

Inspiration 😇

This project is inspired by the following projects :)

Special Thanks to all of you !!!.

Features 😍

  • Powerful and Very Useful built-in Plugins
    • gdrive [ upload / download / etc ] ( Team Drives Supported! ) 🤥
    • zip / tar / unzip / untar / unrar
    • telegram upload / download
    • pmpermit / afk
    • notes / filters
    • split / combine
    • gadmin
    • plugin manager
    • ...and more
  • Channel & Group log support
  • Database support
  • Build-in help support
  • Easy to Setup & Use
  • Easy to add / port Plugins
  • Easy to write modules with the modified client

Example Plugin 🤨

from userge import userge, Message, filters

LOG = userge.getLogger(__name__)  # logger object
CHANNEL = userge.getCLogger(__name__)  # channel logger object

# add command handler
@userge.on_cmd("test", about="help text to this command")
async def test_cmd(message: Message):
   LOG.info("starting test command...")  # log to console
   # some other stuff
   await message.edit("testing...", del_in=5)  # this will be automatically deleted after 5 sec
   # some other stuff
   await CHANNEL.log("testing completed!")  # log to channel

# add filters handler
@userge.on_filters(filters.me & filters.private)  # filter my private messages
async def test_filter(message: Message):
   LOG.info("starting filter command...")
   # some other stuff
   await message.reply(f"you typed - {message.text}", del_in=5)
   # some other stuff
   await CHANNEL.log("filter executed!")

Requirements 🥴

UserGe MODES 🕹

  • USER mode (using user account)

  • BOT mode (using bot account)

  • DUAL mode (using both user and bot account)

    further read config.env.sample

How To Deploy 👷

  • With Heroku:

    NOTE : your can fill other vars as your need and they are optional. (settings -> reveal config vars)

    • First click this
    • Fill API_ID, API_HASH, DATABASE_URL and LOG_CHANNEL_ID (required)
    • Choose your MODE
    • Then fill other non-required vars as relevent to your MODE
    • Finally hit deploy button
  • With Docker 🐳

  • With Git, Python and pip 🔧

    # clone the repo
    git clone https://github.com/UsergeTeam/Userge.git
    cd Userge
    
    # create virtualenv
    virtualenv -p /usr/bin/python3 venv
    . ./venv/bin/activate
    
    # install requirements
    pip install -r requirements.txt
    
    # Create config.env as given config.env.sample and fill that
    cp config.env.sample config.env
    
    # get string session and add it to config.env
    bash genStr
    
    # finally run the Userge ;)
    bash run
  • More Detailed Guide 📝

Video Tutorial 🎥

Tutorial

Support & Discussions 👥

Head over to the Discussion Group and Update Channel

Project Credits 💆‍♂️

Copyright & License 👮