Hello, I'm Macchi.
More than configurable. Programmable. A Discord bot where users build features with Lua.
Build the behavior your community actually needs.
Macchi connects small Lua programs to Discord commands and events. The platform keeps source, ownership, permissions, versions, and installations visible instead of hiding them behind a collection of unrelated settings.
- Commands and events Run a script deliberately or attach it to a supported Discord event.
- Personal, server, and channel scope Keep authority and management attached to the context that owns the script.
- Drafts, publications, and installations Edit current work, publish exact versions, and install only the revision you reviewed.
Keep each step visible.
Macchi separates writing, checking, ownership, and activation so you can understand what will happen before a script starts responding in Discord.
-
Write a focused Lua script
Start with a reply, a command, or one supported event instead of a large bot project.
-
Check the source
Use the checker to parse and validate Lua without saving the script or running its effects.
-
Choose who owns it
Keep the script personal or attach it to the server or channel where it should operate.
-
Review and enable it
Inspect requested capabilities, dependencies, and current state from the same Library entry.
Give every command and reply your server's voice.
Turn recurring questions, inside jokes, rules, links, and small routines into saved Lua scripts. People can run them through slash commands or your server's configured prefix.
A script can belong to you, the whole server, or one channel, so its ownership stays as clear as the place where it is used.
Go from one Lua reply to a managed command.
Start with macchi.reply, validate the source with /check, then save it as a command when it is ready. The same Library keeps its source, trigger, scope, state, and capabilities together.
Validation checks the script without creating proposals or running side effects. Actual execution happens only when you deliberately run the saved script.
Let useful scripts respond when Discord changes.
Welcome a new member, answer a mention, respond to a message trigger, or handle a reaction without turning every routine into a command someone has to remember.
Event scripts stay tied to their configured server or channel, and privileged actions still recheck current Discord permissions, targets, and role hierarchy.
Add power without giving up predictable limits.
Build from a short example, inspect the Wiki and generated Lua API, then add components, waits, storage, dependencies, or moderated Discord actions only when the script needs them.
Every run starts in a fresh PopLua session with instruction, time, memory, and call-depth limits, so one script cannot grow into unbounded work.
Keep drafts flexible and shared releases exact.
Edit a private draft as your needs change, publish an immutable version when it is ready, and install that exact release with its declared capabilities and dependencies.
Canonical references keep user, server, and channel ownership visible. Installations remain connected to the publication and version that administrators reviewed.
Review generated scripts before enabling them.
An assistant can explain an API or sketch a script, but generated source may use outdated methods, request access it does not need, or behave differently from the original prompt. Read the exact source and compare every privileged action with the intended result.
Use the checker for syntax and static validation, then test the script in its intended scope. Capabilities limit privileged APIs, while current Discord permissions and host checks decide whether each requested action is allowed.
Explore with agents
Start with one script you can read and explain.
Follow the first-script guide, validate a short reply, and keep it private while you learn the workflow. Add Macchi to a server when you are ready to manage server or channel scripts there.