Skip to main content

Async library for creating Bots for amino

Project description

This project is in no way associated with Amino or MediaLabs, this is completely reverse engineered

AminoAcid

Why AminoAcid?

Because other projects like BotAmino fail to allow a nicely done, pythonic, completely async hinted experience.
This project aims to open up the possibilities that other libraries don't fulfill by being completely async using aiohttp, allowing OOP with the use of BaseModels and dataclasses, allowing events with a discord.py-esque experience.
While BotAmino tries to be easy to use it fails to provide an easy high-level API by forcing to use Amino.fix instead of allowing access via their own methods and objects.

How do you use it?

AminoAcid's documentation is available through GitHub pages and auto generated using pdoc, for examples take a look into the examples dir

from aminoacid import Bot
from aminoacid.abc import Message, Context

client = Bot(
    prefix="b!",
    key=bytes.fromhex("B0000000B50000000000000000000B000000000B"),
    device = "42..."
)

@client.command(name="say")
async def hi(ctx: Context, *nya: str):
    message = await ctx.send(" ".join(nya))
    print(message)

@client.event("on_message")
async def on_message(message: Message):
    if message.author.id == client.profile.id: return
    print(message, "nya!")

client.run(
    session="AnsiMSI6..."
)
# OR
#client.run(
#    email="mail@gmail.com",
#    password=   r"Rc2Z=I5S0bN;ewjn2jasdn43",
#)

As you might see, you need to supply your own key to sign the requests with. You can find this in other libraries tho.
Please note, that this library is NOT finished and a lot of features I want to implement are still missing.

Why no key?

The aim of this library is NOT to make malicious bots, which is why you need to put the key in yourself.
This library should only be used for making fun chat bots.

How to do X?

Check the docs, if it's in there then look at how to use it. If it's not there you probably can't.
If you want to request a feature, you can open a new Issue.

AminoAcid or AminoAcids?

This was originally called AminoAcids but then i noticed that the pypi project "aminoacids" was already taken, so i removed the s

To-Do

  • Finish Object attributes
  • Type checking and converting
  • Add Embed features
  • Improve existing features
  • Better quality in code
  • Complete Exceptions
  • Complete SocketCode Enum
  • Make the SocketClient subscribe to other events to allow on_follow and on_notification events
  • Finish started but unfinished methods

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

aminoacid-0.1.0.tar.gz (13.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aminoacid-0.1.0-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file aminoacid-0.1.0.tar.gz.

File metadata

  • Download URL: aminoacid-0.1.0.tar.gz
  • Upload date:
  • Size: 13.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for aminoacid-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6faa0cc98178196eec1473870357b1da6342b573eb48475026a62b864747eaf9
MD5 1d9e93b9c0977a9c87626bbbb8b5c7c1
BLAKE2b-256 268b29441ea28756613d4a869cbef0248c0cff035103bcaaa59893950ec427bf

See more details on using hashes here.

File details

Details for the file aminoacid-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: aminoacid-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for aminoacid-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2a649b41a4ad319e73c041b24b20f312850c3f624320364d0c81c11662374eee
MD5 9284125f50ba79a438dfb43cec72a4a4
BLAKE2b-256 3e5b1ed86a0824bfb0a054cb2c835a86c969417540553487566a67093c51a6ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page