Skip to main content

WETG v7 Super Weox โ€” One-File Telegram Bot Engine. Write Telegram bots in a simple scripting language.

Project description

๐Ÿ”ฅ WETG v7 โ€” Super Weox

One-File Telegram Bot Engine โ€” Write Telegram bots in a simple scripting language. No boilerplate. No classes. Just write.

pip install wetg

โšก Quick Start

# Create a bot from template
wetg new mybot.wetg

# Edit it, add your token from @BotFather
nano mybot.wetg

# Run it
wetg run mybot.wetg

That's it.


๐Ÿ“ Language

Hello World bot

bot "YOUR_TOKEN_HERE"

on /start
    send "Hello, {user.name}! ๐Ÿ‘‹"

on /ping
    send "๐Ÿ“ Pong!"

Full feature example

bot "YOUR_TOKEN_HERE"

set welcome=Hello!

# โ”€โ”€ Commands โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

on /start
    send "๐Ÿ‘‹ Hi {user.name}! {welcome}"

on /help
    send "/start\n/ping\n/echo\n/about"

on /ping
    send "๐Ÿ“ Pong!"

on /about
    button = ["Our Website", "https://example.com"]
    send "Powered by WETG v7 Super Weox." with button

on /echo
    ask "What should I echo?"

# โ”€โ”€ User messages โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

on usermsg
    if {usermsg} == "hi"
        send "Hey! ๐Ÿ‘‹"
    elif {usermsg} == "bye"
        send "See ya! ๐Ÿ‘‹"
    else
        send "You said: {usermsg}"

# โ”€โ”€ Functions โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€

function welcome_user
    send "Welcome, {user.name}!"
    send "Your ID: {user.id}"

๐Ÿ“– Language Reference

Token

bot "YOUR_TOKEN"

Or use config.txt (recommended โ€” don't commit tokens to git):

TOKEN=YOUR_TOKEN

Sending messages

Syntax Description
send "text" Plain message
send "{user.name}" With variable interpolation
send "**bold**" with markdown Markdown formatting
send "<b>bold</b>" with html HTML formatting
send "photo.jpg" with image Local image file
send "https://..." with image Image from URL
button = ["Label", "url"] then send "text" with button Inline button

Variables

Variable Value
{user.name} User's first name
{user.id} User's Telegram ID
{user.username} User's @username
{bot.name} Bot display name
{bot.username} Bot @username
{usermsg} Last message text from user

Control flow

if {usermsg} == "yes"
    send "You said yes!"
elif {usermsg} == "no"
    send "You said no."
else
    send "You said something else."

Loops

loop 5 times
    send "Looping!"
stop

Ask / input

on /form
    ask "What's your name?"

on usermsg
    send "Nice to meet you, {usermsg}!"

Functions

function greet
    send "Hi {user.name}!"

on /start
    call greet

Variables (set)

set counter=0

on /start
    set counter=1
    send "Counter is {counter}"

Imports

import random

on /roll
    send "๐ŸŽฒ {random.randint(1, 6)}"

๐Ÿ Python API

from wetg_superweox import Wetg
import asyncio

code = """
bot "YOUR_TOKEN"

on /start
    send "Hello from Python API!"
"""

bot = Wetg(code)
bot.parse()
asyncio.run(bot.run())

Or use the helper:

from wetg_superweox import run_file

run_file("mybot.wetg")

๐Ÿ›  CLI

wetg run <file.wetg>     Run a bot
wetg new <file.wetg>     Create bot from template
wetg check <file.wetg>   Validate .wetg file
wetg version             Show version
wetg help                Show help

Shortcuts:

wetg mybot.wetg           # same as: wetg run mybot.wetg
python -m wetg_superweox run mybot.wetg

๐Ÿ”’ Tips

  • Store tokens in config.txt, not in .wetg files
  • Add to .gitignore:
    config.txt
    .env
    

๐Ÿ“œ License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wetg-7.1.0.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wetg-7.1.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file wetg-7.1.0.tar.gz.

File metadata

  • Download URL: wetg-7.1.0.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for wetg-7.1.0.tar.gz
Algorithm Hash digest
SHA256 30a50a98981110937fb8426d4366aaf64200a7510ac50a09f36b75b327286345
MD5 5cdf71ef5b008c3e8c7815afd87f2483
BLAKE2b-256 749b562799b09016c8132b73504a0a2648dde3d31829032492d0c8b08c7061ea

See more details on using hashes here.

File details

Details for the file wetg-7.1.0-py3-none-any.whl.

File metadata

  • Download URL: wetg-7.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for wetg-7.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e12a31220e17cada022b9a5f9bd91ff4bb581a4257b7bd755fbf5023c16de545
MD5 6902d3d0420633de212e62f9eee14f63
BLAKE2b-256 24ca63a7397d33bc865c0eaddd7b2cc6d50b74a732051bd384e7304317e00a78

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page