An easy to use, statically typed Discord API wrapper using python.
import asuka
bot = asuka.Bot("TOKEN")
@asuka.listener_config(guild_only=True, humans_only=True)
@bot.listener(asuka.MessageCreate)
async def hello(event: asuka.MessageCreate) -> None:
"""
-> This coro gets triggered every time a message is sent.
-> The conditions for when to invoke the coro can be controlled
using listener configs
"""
print(f"Message sent by {event.user.username}")
@bot.listen_once(asuka.MessageCreate)
async def first_message(event: asuka.MessageCreate) -> None:
"""Gets triggred once in a runtime."""
print(f"First message in this session was sent by: {event.user}")
bot.run()