Ultra-simple Discord API wrapper with direct button() and row() functions
Project description
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 🎯
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiko_api-0.1.6.tar.gz.
File metadata
- Download URL: aiko_api-0.1.6.tar.gz
- Upload date:
- Size: 204.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
35b868d666c11e26a37182b856d08ecff8d49498e087888b9c8a21b38dc785a1
|
|
| MD5 |
2e4aa720b5e47cc92cdef383dc8a68b6
|
|
| BLAKE2b-256 |
43426e9dddf8e32d1bce3376e05a190823579692d470fb8938fe6894e72f8b65
|
File details
Details for the file aiko_api-0.1.6-py3-none-any.whl.
File metadata
- Download URL: aiko_api-0.1.6-py3-none-any.whl
- Upload date:
- Size: 69.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21ce134c0d7b4f055fbbe5cb6796ebee4084c601805bd80c3f291d6ab5b9ad33
|
|
| MD5 |
62a31d5ca80ca32d37ddc63bd4b91ccd
|
|
| BLAKE2b-256 |
991ba678022011b3ed58d36361176c4eda1bf31e49c9c9cf06bfc9154a79ac2f
|