Skip to content

trassert/ChatHTTP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C2HTTP plugin

Issues Contributors Lines Commit Activity Last Commit

Platform VSC

Русская версия README

EN

What is this plugin?

Intercepts player messages and sends them to the specified webhook URL via a POST request (parameters: nick, message, password).

How does it work?

Intercepts player messages and sends them to the specified webhook URL via a POST request (parameters: nick, message, password).

Configuration config.yml

webhook-url: "https://your-server/endpoint"
password: "your_password"
# optional: no-permission-message, config-reloaded, main-text

Commands

  • /c2h reload - reload the config (requires c2h.reload permission).
  • /c2h send ip json - send post (requires c2h.send permission).

Permissions

  • c2h.reload - access to reload.
  • c2h.send - access to /c2h send

Handling example

Uses aiohttp

async def minecraft(request: aiohttp.web.Request):
    data = await request.post()
    if data.get("password") != config.tokens.chattohttp:
        logger.info("Invalid password")
        return aiohttp.web.Response(text="Password is not valid", status=401)
    nick = data.get("nick")
    message = data.get("message")
    if not formatter.is_valid_mc_nick(nick):
        return aiohttp.web.Response(text="Nick is not valid", status=406)
    logger.info(f"{nick} said: {message}")
    return aiohttp.web.Response(text="ok")

Building

Install Maven and run
mvn clean package

Versioning

The plugin uses SemVer - <major>.<minor>.<patch>

  • major - incompatible changes
  • minor - compatible feature changes
  • patch - non-functional changes (bugfixes)

About

Плагин, транслирующий чат в HTTP

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages