Skip to main content

Easily create a bot for Amino Apps using a modern easy to use synchronous library.

Project description

Pymino Logo

pymino

Discord Libraries.io dependency status for GitHub repo GitHub last commit PyPI - Downloads

A Python wrapper to communicate with the Amino Apps API.

Easily create a bot for Amino Apps using a modern, easy-to-use library.

WARNING

This software is provided for educational purposes only.

Pymino is a fully reverse-engineered client. By using this client, you may be violating the Amino Apps' Terms of Service. This could lead to your account being suspended or permanently banned. Please use Pymino responsibly and at your own risk.

Understand that the developers and maintainers of Pymino are not responsible for any actions taken against your account as a result of using this client. Proceed with caution.

If you have any questions or need help, feel free to join the Discord server.

Join Our Discord Server

Installation

Recommended installation method is through pip:

pip install pymino

Alternatively, you can clone the repository and install it manually:

git clone https://github.com/forevercynical/pymino.git
  cd pymino
  python setup.py install

For more detailed documentation and usage examples, check out the project's official documentation.

Client Class Usage

>>> from pymino import Client

>>> # Initialize the client
>>> client = Client() # You can set proxies and device_id here

>>> # You need to login to utilize most functions.
>>> client.login("email", "password") or client.login("sid")
>>> print(f"Logged in as {client.profile.username}")

>>> # We can either set community_id by link or by comId.
>>> client.fetch_community_id(community_link="https://aminoapps.com/c/OnePiece")
>>> # Or
>>> client.set_community_id(community_id=123)

>>> # To access community functions we utilize the community property.
>>> client.community.send_message(
...     chatId=000000-0000-0000-000000,
...     content="Hello world!"
... )
>>> # This will utilize the community id we set earlier.
>>> # We can also set the community id in the function call itself.
>>> client.community.send_message(
...     chatId=000000-0000-0000-000000,
...     content="Hello world!",
...     comId=123
... )
  

Bot Class Usage

>>> from pymino import Bot
>>> from pymino.ext import *

>>> # Initialize the bot
>>> bot = Bot(
...     command_prefix="!",
...     community_id=00000000,
...     console_enabled=True,
...     device_id=None,
...     intents=True,
...     online_status=True,
...     proxy="http://127.0.0.1:8080" # Must be a string.
... ) 

>>> # The on_ready event is called when the bot has logged in.
>>> @bot.on_ready()
... def ready():
...     print(f"{bot.profile.username} has logged in!")

>>> # The on_text_message event is called when a message is received.
>>> @bot.on_text_message()
... def message(ctx: Context, member: Member, message: str):
...     print(f"{member.username}: {message}")
...     if message.startswith("hi"):
...         ctx.reply("Hello!")

>>> # The on_member_join event is called when a member joins a chat.
>>> @bot.on_member_join()
... def join(ctx: Context, member: Member):
...     ctx.reply(f"Welcome to the chat, {member.username}!")

>>> # The on_member_leave event is called when a member leaves a chat.
>>> @bot.on_member_leave()
... def leave(ctx: Context):
...     ctx.reply(f"Goodbye!")

>>> # This is how you create a command.
>>> @bot.command(
...     name="ping", # Set the name of the command.
...     description="This will reply with Pong!", # Set the description of the command.
...     aliases=["p"], # Set the aliases of the command. This will allow !p to be used as !ping.
...     cooldown=0 # Set the cooldown of the command. This will prevent the command from being used for <cooldown> seconds.
... )
... def ping(ctx: Context): # The context is passed to the function.
...     ctx.reply("Pong!") # This will reply to the message with "Pong!"

>>> @bot.command("say")
... def say(ctx: Context, message: str): # message will be the content message after the command.
...     ctx.reply(message) # This will reply to the message with the message argument.

>>> @bot.task(interval=10) # This will run any task every 10 seconds.
... def task(): # This will not use community functions.
...     print("This is a task! It will run every 10 seconds!")

>>> @bot.task(interval=30)
... def task(community: Community):
...     [...] # Do something in the community
...     community.send_message(chatId, "Hello world!")
...     print("This is a community task! It will run every 30 seconds.")

>>> @bot.on_error()
... def error(error: Exception): # This will be called when an error occurs.
...     print(f"An error has occurred: {error}")

>>> bot.run("email", "password") or bot.run("sid") # You can login with email and password or sid.
  

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

pymino-1.3.4.14.tar.gz (120.7 kB view details)

Uploaded Source

Built Distribution

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

pymino-1.3.4.14-py3-none-any.whl (132.4 kB view details)

Uploaded Python 3

File details

Details for the file pymino-1.3.4.14.tar.gz.

File metadata

  • Download URL: pymino-1.3.4.14.tar.gz
  • Upload date:
  • Size: 120.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pymino-1.3.4.14.tar.gz
Algorithm Hash digest
SHA256 8707be76404081e023cc0d4802eac68098785509530c560adcf5bb071700f54d
MD5 16863d612651f00c6523064c135e1ba5
BLAKE2b-256 c8ea9cfb9c17df01bec4be2a871518b1addb21198f461479e22048d382086e8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymino-1.3.4.14.tar.gz:

Publisher: pyminoworkflow.yml on DarkyAmagai/pymino

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pymino-1.3.4.14-py3-none-any.whl.

File metadata

  • Download URL: pymino-1.3.4.14-py3-none-any.whl
  • Upload date:
  • Size: 132.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pymino-1.3.4.14-py3-none-any.whl
Algorithm Hash digest
SHA256 33605538ae3792179b90f5bdcc1a62c6ee09a979d312aa37de9d8960a5892a4b
MD5 5a1624c49572fba5f7f8161ef36fab26
BLAKE2b-256 6d6c1faa95250472dc95762db667a4728def66dfc7c898e6b779bbcc3b9bf140

See more details on using hashes here.

Provenance

The following attestation bundles were made for pymino-1.3.4.14-py3-none-any.whl:

Publisher: pyminoworkflow.yml on DarkyAmagai/pymino

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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