Aiko API 🎯
Ultra-simple Discord bot development with direct button() and row() functions.
from aiko_api import Bot, button, row
bot = Bot(command_prefix="!")
@bot.slash()
async def hello(ctx):
btn = button("Click me!", "btn", style="success")
await ctx.respond("Hello!", components=[row(btn)])
bot.run("YOUR_TOKEN")
🚀 Quick Start
pip install aiko-api
from aiko_api import Bot, button, row
bot = Bot(command_prefix="!")
@bot.slash()
async def hello(ctx):
my_btn = button("Click me!", "btn", style="success")
await ctx.respond("Hello!", components=[row(my_btn)])
bot.run("YOUR_TOKEN")
✨ Features
- ⚡ Direct
button()androw()functions - no complex builders - 🎯 Ultra-simple syntax - minimal code, maximum functionality
- 📝 Clean decorators -
@bot.slash(),@bot.slash.on_click() - 🔄 Full asyncio support - modern async/await
- 🚀 Zero boilerplate - get started in seconds
- 📦 Lightweight - only what you need
🎯 Why Aiko API?
Before (Other Libraries)
# Complex, verbose syntax
button = Button(
style=ButtonStyle.SUCCESS,
label="Click me!",
custom_id="btn"
)
row = ActionRow(components=[button])
After (Aiko API)
# Ultra-simple, intuitive
btn = button("Click me!", "btn", style="success")
row = row(btn)
📚 Examples
Basic Button
@bot.slash()
async def basic(ctx):
btn = button("Click me!", "btn", style="success")
await ctx.respond("Hello!", components=[row(btn)])
@bot.slash.on_click("btn")
async def handle_click(ctx):
await ctx.respond("Clicked! 🎉")
Multiple Buttons
@bot.slash()
async def colors(ctx):
red = button("Red", "red", style="danger")
blue = button("Blue", "blue", style="primary")
await ctx.respond("Pick:", components=[row(red, blue)])
Embed + Buttons
@bot.slash()
async def dashboard(ctx):
from aiko_api.common.models import Embed
embed = Embed(title="Dashboard", color=0x00ff00)
play_btn = button("Play", "play", style="success")
await ctx.respond(embed=embed, components=[row(play_btn)])
🎯 Direct Functions
The magic is in the direct functions:
from aiko_api import button, row
# Create buttons anywhere - no bot needed!
btn1 = button("Primary", "btn1", style="primary")
btn2 = button("Danger", "btn2", style="danger")
my_row = row(btn1, btn2)
📖 Documentation
- Basic Examples - Simple usage patterns
- Advanced Examples - Complex features
- Demos - Interactive demonstrations
🛠️ Installation
pip install aiko-api
🔧 Requirements
- Python 3.8+
- asyncio
- curl_cffi
📄 License
MIT License - see LICENSE file for details.
🎯 Mission
Make Discord bot development ultra-simple while maintaining full functionality. No complex builders, no verbose syntax - just direct, intuitive functions that work!
Aiko API - Discord bots made simple 🎯
Metadata
Release files for aiko-api 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| aiko_api-0.1.6.tar.gz | 204.4 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aiko_api-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 273.9 kB
Release files / aiko_api-0.1.6.tar.gz
| Download URL | aiko_api-0.1.6.tar.gz |
|---|---|
| Size | 204.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
35b868d666c11e26a37182b856d08ecff8d49498e087888b9c8a21b38dc785a1
|
|
BLAKE2b-256 checksum How to use checksums |
43426e9dddf8e32d1bce3376e05a190823579692d470fb8938fe6894e72f8b65
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / aiko_api-0.1.6-py3-none-any.whl
| Download URL | aiko_api-0.1.6-py3-none-any.whl |
|---|---|
| Size | 69.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
21ce134c0d7b4f055fbbe5cb6796ebee4084c601805bd80c3f291d6ab5b9ad33
|
|
BLAKE2b-256 checksum How to use checksums |
991ba678022011b3ed58d36361176c4eda1bf31e49c9c9cf06bfc9154a79ac2f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Security for aiko-api 0.1.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.