Skip to main content

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() and row() 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

🛠️ 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)

Source distribution for aiko-api 0.1.6
File Size Uploaded Provenance
aiko_api-0.1.6.tar.gz 204.4 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for aiko-api 0.1.6
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page