Skip to main content

A simple, elegant, and powerful command handler for Hikari.

Project description

Hikari-Lightbulb logo

PyPI

Overview

Lightbulb is designed to be an easy-to-use command handler library that integrates with the Discord API wrapper library for Python, Hikari.

This library aims to make it simple for you to make your own Discord bots and provide all the utilities and functions you need to help make this job easier.

Installation

Use the package manager pip to install Lightbulb.

pip install hikari-lightbulb

Usage

# Import the libraries
import hikari
import lightbulb

# Create a GatewayBot instance
bot = hikari.GatewayBot("your_token_here")
client = lightbulb.client_from_app(bot)
# Ensure the client starts once the bot is run
bot.subscribe(hikari.StartingEvent, client.start)

# Register the command with the client
@client.register()
class Ping(
    # Command type - builtins include SlashCommand, UserCommand, and MessageCommand
    lightbulb.SlashCommand,
    # Command declaration parameters
    name="ping",
    description="checks the bot is alive",
):
    # Define the command's invocation method. This method must take the context as the first
    # argument (excluding self) which contains information about the command invocation.
    @lightbulb.invoke
    async def invoke(self, ctx: lightbulb.Context) -> None:
        # Send a message to the channel the command was used in
        await ctx.respond("Pong!")

# Run the bot
# Note that this is blocking meaning no code after this line will run
# until the bot is shut off
bot.run()

Sponsors

I would like to give a special thanks to my sponsors for providing the funding to continue developing and improving this resource over the past 5+ years.

Large Bots

The following large bots are all using Lightbulb in production:

Invite Tracker
Invite Tracker
nMarkov
nMarkov

Do you own a large bot using Lightbulb? Mention @thomm.o on Discord or submit a pull request to add your bot to the list!

Show your Support

We love people's support in growing and improving. Be sure to leave a ⭐️ if you like the project, and I would gladly welcome any contributions if you're interested!

Links

IDE Plugin

Lightbulb now has a plugin for IntelliJ-based IDEs (IntelliJ, Pycharm, etc) to help improve the developer experience by providing autocompletion and type checking not yet supported by other tools. More features such as command boilerplate generation and further code inspections are planned.

You can install the plugin from the Jetbrains Marketplace within your IDE. View the plugin here.

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_lightbulb-3.2.3.tar.gz (136.8 kB view details)

Uploaded Source

Built Distribution

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

hikari_lightbulb-3.2.3-py3-none-any.whl (105.0 kB view details)

Uploaded Python 3

File details

Details for the file hikari_lightbulb-3.2.3.tar.gz.

File metadata

  • Download URL: hikari_lightbulb-3.2.3.tar.gz
  • Upload date:
  • Size: 136.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.5

File hashes

Hashes for hikari_lightbulb-3.2.3.tar.gz
Algorithm Hash digest
SHA256 9db7747a93c0a1af7702a4acf078cc89afdee3a6914521609b4d7693b5244b91
MD5 14b27956d1ddd0a050ae80634e1e3dc0
BLAKE2b-256 db0b02ea547ed350cb8ae733afe5d77325b03cd488664daeb70b3e02e151b037

See more details on using hashes here.

File details

Details for the file hikari_lightbulb-3.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for hikari_lightbulb-3.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b957e1cf804dbe3acd7b6127646e9ec2e5fe39d3d631dc4402f8dd2078057626
MD5 2252584893d4cdf677ca8629ba8aa262
BLAKE2b-256 7329bd8b0b7b8475b02265a2862b43d2183f56e7cff36033852f86bd135bace7

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