Skip to main content

A sane Discord API for Python 3 built on asyncio and good intentions

Project description

hikarivers pyvers codecov prs issues black mypy docs

Discord

hikari

An opinionated, static typed Discord API for Python3 and asyncio.

Built on good intentions and the hope that it will be extendable and reusable, rather than an obstacle for future development.

import hikari

bot = hikari.Bot(token="...")


@bot.listen()
async def ping(event: hikari.MessageCreateEvent) -> None:
    # If a non-bot user sends a message "hk.ping", respond with "Pong!"

    if not event.message.author.is_bot and event.message.content.startswith("hk.ping"):
        await event.message.reply("Pong!")


bot.run()

Events are determined by the type annotation on the event parameter, or alternatively as a type passed to the @bot.listen() decorator, if you do not want to use type hints.

@bot.listen(hikari.MessageCreateEvent)
async def ping(event):
    ...

Installation

Install hikari from PyPI with the following command:

python -m pip install hikari -U --pre
# Windows users may need to run this instead...
py -3 -m pip install hikari -U --pre

Additional libraries

You may wish to use a command framework on top of Hikari so that you can start writing a bot quickly without implementing your own command handler.

Hikari does not include a command framework by default, so you will want to pick a third party library to do it.

  • lightbulb - a simple and easy to use command framework for Hikari.

Developing Hikari

If you wish to contribute something, you should first start by cloning the repository.

The first thing you should run is pip install nox to install nox. This handles running predefined tasks and pipelines.

To initialize a development environment and install everything you need, simply run nox -s init. This will create a venv and install everything you need in it to get started.

Once this is complete, you can run nox without any arguments to ensure everything builds and is correct.

Where can I start?

Check out the issues tab on GitHub. If you are nervous, look for issues marked as good-first-issue-badge for something easy to start with!

good-first-issues

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hikari-2.0.0.dev73.tar.gz (251.4 kB view details)

Uploaded Source

Built Distribution

hikari-2.0.0.dev73-py3-none-any.whl (331.9 kB view details)

Uploaded Python 3

File details

Details for the file hikari-2.0.0.dev73.tar.gz.

File metadata

  • Download URL: hikari-2.0.0.dev73.tar.gz
  • Upload date:
  • Size: 251.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for hikari-2.0.0.dev73.tar.gz
Algorithm Hash digest
SHA256 9da4857ec6df1a33f6df096f03dca6c7e17a46f7b33634378e9b1b6a63a868a2
MD5 565bc711f3948b0c7c5c4cbff01fc3d5
BLAKE2b-256 6bfa3400a533b7039b48668850ea42533af14fe788e96a7b7943673223ced841

See more details on using hashes here.

File details

Details for the file hikari-2.0.0.dev73-py3-none-any.whl.

File metadata

  • Download URL: hikari-2.0.0.dev73-py3-none-any.whl
  • Upload date:
  • Size: 331.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.2.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.5

File hashes

Hashes for hikari-2.0.0.dev73-py3-none-any.whl
Algorithm Hash digest
SHA256 7e2f0584bb970e12ea174a590fcf35b995202b2593fb2c300a582f06a0d4e683
MD5 9de1450994a114091f0fbb1d973bd10d
BLAKE2b-256 8c9d1aff0f7a6517be2d2ae79dfc651f5192806e419f1015622a6e2d00a6c447

See more details on using hashes here.

Supported by

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