Skip to content

nathanakr/Userge

 
 

Repository files navigation

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

Userge 🔥

Build Status Python Version Release Stars Forks Issues Open Issues Closed PR Open PR Closed Contributors Repo Size License Commit Activity Plugins Repo! Join Channel! DeepSource

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
    • etc...
  • 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

LOG = userge.getLogger(__name__)  # logger object

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

@userge.on_cmd("test", about="help text to this command")  # adding handler and help text to .test command
async def testing(message: Message):
   LOG.info("starting test command...")  # log to console

   await message.edit("testing...", del_in=5)  # this will be automatically deleted after 5 sec

   await CHANNEL.log("testing completed!")  # log to channel

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 👷

  • HEROKU Method 🚀

    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

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

  • Docker Method 🐳

    1. Install Docker ( Guide )
    2. Clone the repo git clone https://github.com/UsergeTeam/Userge.git
    3. cd Userge
    4. Create the docker image docker build -t userge .
    5. cd ..
    6. wget https://raw.githubusercontent.com/UsergeTeam/Userge/alpha/config.env.sample -O config.env
    7. Edit the file with your text editor vi config.env
    8. Finally run the container docker run -dv "$(pwd)/config.env:/app/config.env" userge
  • Other Method 🔧

    # 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 👮

About

Userge, Durable as a Serge

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 96.2%
  • Shell 3.6%
  • Dockerfile 0.2%