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

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.dev71.tar.gz (247.3 kB view details)

Uploaded Source

Built Distribution

hikari-2.0.0.dev71-py3-none-any.whl (326.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hikari-2.0.0.dev71.tar.gz
  • Upload date:
  • Size: 247.3 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.dev71.tar.gz
Algorithm Hash digest
SHA256 e3cf817cb36c01af061053d6062dc40fe459736f38369131da04e295bf701778
MD5 1366f32e6655a0a9bb98a461a854d4f3
BLAKE2b-256 f9b6b3de08f723ad6664f130b20615cbe063b40ec100d5640baabdd927ca8046

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hikari-2.0.0.dev71-py3-none-any.whl
  • Upload date:
  • Size: 326.2 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.dev71-py3-none-any.whl
Algorithm Hash digest
SHA256 5f9782073b743151b31904cc8e8c97b2f641fe22352006491c054b6e80f1056f
MD5 a329c7e08e80f33b949c6b2ba4216a04
BLAKE2b-256 3e616909995f028ed7c5373160171f83b87a376e61e74991ae60e16bc409ff95

See more details on using hashes here.

Supported by

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