All Projects → WhiteMemory99 → telecharm-userbot

WhiteMemory99 / telecharm-userbot

Licence: MIT license
A powerful, cool and well-made userbot for your Telegram profile, with promising extension capabilities.

Programming Languages

python
139335 projects - #7 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to telecharm-userbot

WTelegramClient
Telegram client API library written 100% in C# and .NET Standard
Stars: ✭ 192 (+1029.41%)
Mutual labels:  telegram-api, userbot, telegram-userbot
telegram client
library for help you make userbot or bot telegram and support tdlib telegram database and only support nodejs dart and google-apps-script
Stars: ✭ 38 (+123.53%)
Mutual labels:  telegram-api, userbot, telegram-userbot
tdlight-java
Complete Bot and Userbot Telegram library based on TDLib
Stars: ✭ 128 (+652.94%)
Mutual labels:  telegram-api, telegram-userbot
UniBorg
Pluggable Telegram bot and userbot based on Telethon
Stars: ✭ 196 (+1052.94%)
Mutual labels:  userbot, telegram-userbot
caligo
SelfBot for Telegram
Stars: ✭ 34 (+100%)
Mutual labels:  asyncio, telegram-userbot
AsenaUserBot
Asena UserBot is the most advantageous and fast UserBot with changeable language and permanent plugin system.
Stars: ✭ 133 (+682.35%)
Mutual labels:  userbot, telegram-userbot
Telegram-UserBot
Abandoned.. Moved to https://github.com/TeamDerUntergang/Telegram-SedenUserBot
Stars: ✭ 38 (+123.53%)
Mutual labels:  userbot, telegram-userbot
DevelopersUserbot
Telegram Userbot Made for Developers by Developers
Stars: ✭ 25 (+47.06%)
Mutual labels:  userbot, telegram-userbot
Nana-Bot
Telegram Modular Userbot using python3.7
Stars: ✭ 38 (+123.53%)
Mutual labels:  userbot, telegram-userbot
opentele
A Python Telegram API Library for converting between tdata and telethon sessions, with built-in official Telegram APIs.
Stars: ✭ 90 (+429.41%)
Mutual labels:  telegram-api, telegram-userbot
aioamqp consumer
consumer/producer/rpc library built over aioamqp
Stars: ✭ 36 (+111.76%)
Mutual labels:  asyncio
fbemissary
A bot framework for the Facebook Messenger platform, built on asyncio and aiohttp
Stars: ✭ 30 (+76.47%)
Mutual labels:  asyncio
FinanceCenter
Fetching Financial Data (US/China)
Stars: ✭ 26 (+52.94%)
Mutual labels:  asyncio
glQiwiApi
The ultrarapid and multifunctional wrapper over QIWI and YooMoney
Stars: ✭ 44 (+158.82%)
Mutual labels:  asyncio
fastapi-framework
A FastAPI Framework for things like Database, Redis, Logging, JWT Authentication, Rate Limits and Sessions
Stars: ✭ 26 (+52.94%)
Mutual labels:  asyncio
MadelineProtoPluginSystem
A fully async plugin-friendly MadelineProto source base
Stars: ✭ 14 (-17.65%)
Mutual labels:  userbot
AsyncIO
.NET library for handling asynchronous file system operations
Stars: ✭ 20 (+17.65%)
Mutual labels:  asyncio
tellerbot
Telegram Bot for over-the-counter trading
Stars: ✭ 17 (+0%)
Mutual labels:  asyncio
trsh
Telegram Remote-Shell
Stars: ✭ 62 (+264.71%)
Mutual labels:  telegram-api
asynchronous
A D port of Python's asyncio library
Stars: ✭ 35 (+105.88%)
Mutual labels:  asyncio

Telecharm userbot

Python 3.8 Codacy Badge
A powerful, fast and simple Telegram userbot written in Python 3 and based on Pyrogram 1.X. Currently, in active WIP state, so feel free to contribute.

Starting up

Ensure you have installed the Python 3.8 or above before proceeding.

Preparations

  1. Git clone this repo.

    git clone https://github.com/WhiteMemory99/telecharm-userbot.git
  2. Visit https://my.telegram.org/apps to get your own api_id and api_hash.

  3. Rename .env.dist to .env and open it.

  4. Edit .env file: fill in your api_id, api_hash.

  5. (Optional) Visit SauceNao, log in and copy your API key to saucenao_key.
    This is a must if you want to use the .sauce command.

Docker deployment

Make sure you have docker.

  1. Build the image. Choose one of the two options below.
  • Basic image for everyone (~210 MB)
docker build -t telecharm-image .
  • Extended image with complete .anime capabilities (~1.1 GB)
docker build -t telecharm-image -f Dockerfile.full .
  1. After building, start the userbot in interactive mode.
docker run -it -v userbot_data:/userbot/app/files --name telecharm telecharm-image
  1. Enter your number, auth code from Telegram and 2FA password, if you have one.
  2. Exit the interactive mode with Ctrl+C or any other combination, depends on your system.
  3. Run the userbot with docker.
docker start telecharm

Poetry deployment

Make sure you have poetry.

  1. Install requirements.

    poetry install
  2. You can also install an optional opencv-python module to extend .anime functionality.

    poetry install -E anime
  3. Run the userbot with poetry.

    poetry run python app

Plain python deployment

  1. Install dependencies.

    pip install -r requirements.txt
  2. If you want to extend .anime functionality, install an optional opencv-python module.

    pip install opencv-python
  3. Run the userbot.

    python3 -m app

Usage

Telecharm will automatically gather, generate and update documentation for all the commands you have. No matter whether you use 3-rd party plugins or write them yourself.
At first launch, send .help to any chat to create your personal guide page.

Thanks for using Telecharm :)

Writing and using custom plugins

  1. By convention, all custom plugins are supposed to go to app/plugins/custom.

  2. Go to that folder and create a file named example.py as your first tutorial plugin.

  3. Insert the code below into the file and read all the comments to understand how it works.

Look at the example code
"""
app/plugins/custom/example.py
This text would also appear in Telecharm guide as a module description.
"""
import asyncio
from pyrogram import filters

from app.config import conf
from app.utils import Client, Message  # Use custom types for type-hinting
from app.utils.decorators import doc_exclude, doc_args


@Client.on_message(filters.me & filters.command("example", prefixes="."))
@doc_args("arg_name", ("date", "time"))  # Let the Telecharm guide know about supported args (OPTIONAL)
@doc_exclude  # This command will not appear in Telecharm guide, remove this line to check how the generation works :)
async def example_handler(client: Client, message: Message):
    """
    This text would appear in Telecharm guide along with the command if it wasn't excluded.

    You can even wrap it like that, or style with supported HTML texts like <b><i>THIS</b></i>.
    """
    await message.edit_text("Hey, this is the example of a custom plugin command.", message_ttl=0)
    # message_ttl is used for message clean up feature, so be sure to take it seriously.
    # For general and short replies you can leave it unfilled, so it will take the default TTL.
    # To disable TTL, pass 0 as the argument.

    if client.user_settings.get("clean_up"):  # You can access and alter user settings with client.user_settings
        await asyncio.sleep(1)
        await message.reply_text(
            "By the way, the clean up mode is on! So this message will disappear in 6 seconds.", message_ttl=6
        )

For more advanced usage, inspect my code and look at app/utils.

  1. That's basically all you need to do. You can restart Telecharm and use your new plugin. To update the guide, just send .help to any chat.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].