Voice module for `hikari`-based Discord bots
Project description
hikari-wave
Voice module for hikari-based Discord bots
- Latest Version
0.0.1a2 - Supports Python
3.10+
What is hikari-wave?
hikari-wave is a standalone module for hikari (an asynchronous Discord API for building bots) that allows developers to easily manipulate voice-related systems and logic. Much like discord.py, hikari-wave implements a custom communication layer to communicate with Discord on the backend, while most other hikari-based bots use Lavalink as a backend, which requires a separate install.
What are hikari-wave's features?
- Doesn't require third-party installs besides
ffmpeg - Easy to use, asynchronous API
- Heavily type-hinted and type-safe
- Supplemental events for further development ease and QoL
How do I use hikari-wave?
- Install
hikari-waveviaPyPI:pip install hikari-wave - Import it into your program using
import hikariwave
Documentation
You can find our documentation here.
Getting Started
You need a basic hikari bot set up, like below:
import hikari
bot: hikari.GatewayBot = hikari.GatewayBot(TOKEN_HERE)
bot.run()
This won't do anything besides sit and look pretty. The following will make the bot connect/disconnect if a user joins/leaves a voice channel:
# imports and bot/client definition
@bot.listen(hikariwave.MemberJoinVoiceEvent)
async def member_joined_voice(event: hikariwave.MemberJoinVoiceEvent) -> None:
await voice.connect(event.guild_id, event.channel_id)
@bot.listen(hikariwave.MemberLeaveVoiceEvent)
async def member_left_voice(event: hikariwave.MemberLeaveVoiceEvent) -> None:
await voice.disconnect(guild_id=event.guild_id)
# OR - can work for either guild or channel, for convenience
await voice.disconnect(channel_id=event.channel_id)
bot.run()
To make this play audio, get the connection and then play:
@bot.listen(hikariwave.MemberJoinVoiceEvent)
async def member_joined_voice(event: hikariwave.MemberJoinVoiceEvent) -> None:
connection: hikariwave.VoiceConnection = await voice.connect(event.guild_id, event.channel_id)
await connection.play_file("test.mp3")
Super easy and convenient!
Implemented Steps
- Connect/Disconnect logic
- Playing audio
- Move/Reconnect/Resume logic
- Supplemental events
- Audio types: files, URLs, etc.
- Files
- Web (URLs)
- YouTube
- Others (SoundCloud, buffers, etc.)
- Player QoL (queue, shuffle, prev/next, etc.)
- DAVE (Discord Audio/Video End-to-End Encryption)
Reporting Bugs
- If you find a bug or issue, please open an issue on the
Issuespage above. - Be sure to provide detailed information to help us understand and reproduce the problem.
Feature Requests
- We welcome suggestions for new features.
- If you have an idea, please open an issue on the
Issuespage above to discuss it first. - This ensures that we're all on the same page and helps us prioritize improvements.
Thanks for Contributing
Your contributions make this project better and more useful for everyone! Thank you for taking the time to improve this project!
License
This project is licensed under the MIT License. Copyright © 2025 WilDev Studios. All rights reserved.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hikari_wave-0.0.1a2.tar.gz.
File metadata
- Download URL: hikari_wave-0.0.1a2.tar.gz
- Upload date:
- Size: 20.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47f0034d57c91aaaf3fcc8d2245cefff7c43dee9762e5d321147d45e693a6e77
|
|
| MD5 |
f145808dcee5d66e122bef8a58dc409a
|
|
| BLAKE2b-256 |
726f8ac1895bb244a2d64c037cd2113204d4a9fb30c267c4d72bfcadbb3de619
|
File details
Details for the file hikari_wave-0.0.1a2-py3-none-any.whl.
File metadata
- Download URL: hikari_wave-0.0.1a2-py3-none-any.whl
- Upload date:
- Size: 25.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6ebe6d5a4b95845c7b23b186fbb041d2f8d239bdf2f324f6c4c55a6f0b6d243
|
|
| MD5 |
dae8ac9b448fafdc7e3f43cb87a8b138
|
|
| BLAKE2b-256 |
05a103a88bc6313538795cf5371c8e44b05021e4c727aff5517a1b99efdd927e
|