Metadata-Version: 2.4
Name: hikari-wave
Version: 0.0.1a5
Summary: Voice module for `hikari`-based Discord bots
Author-email: WilDev Studios <wildevstudios@gmail.com>
License-Expression: MIT
Project-URL: Homepage, https://github.com/WilDev-Studios/hikari-wave
Keywords: async,bot,voice,discord,hikari
Classifier: Development Status :: 3 - Alpha
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: cryptography<47,>=46.0.3
Requires-Dist: hikari<3,>=2.5
Requires-Dist: PyNaCl<2,>=1.6
Requires-Dist: websockets<16,>=15.0
Dynamic: license-file

# hikari-wave

A lightweight, native voice implementation for `hikari`-based Discord bots.

- **Latest:** `0.0.1a5`
- **Python:** `3.10+`

[![Python](https://img.shields.io/pypi/pyversions/hikari-wave?style=for-the-badge)](https://pypi.org/project/hikari-wave/)
[![Downloads](https://img.shields.io/pypi/dm/hikari-wave?style=for-the-badge)](https://pypi.org/project/hikari-wave/)
[![Documentation Status](https://readthedocs.org/projects/hikari-wave/badge/?version=latest&style=for-the-badge)](https://hikari-wave.readthedocs.io/en/latest/?badge=latest)

## Overview

`hikari-wave` is a standalone voice module for [`hikari`](https://github.com/hikari-py.hikari) that provides **direct voice gateway communication** without requiring external backends like `Lavalink`.

It is designed to be:

- **Simple to use**
- **Fully asynchronous**
- **Native to `hikari`'s architecture**

No separate servers. No complex setup. Just voice.

## Features

- Native Discord voice gateway implementation
- Clean, async-first API
- Strong typing and documentation throughout
- Supplemental voice events for better control and UX

## Installation

```bash
pip install hikari-wave
```

Ensure [FFmpeg](https://ffmpeg.org/download.html) is installed and available in your system `PATH`.

## Quick Start

Create a basic voice client bot:

```python
import hikari

bot = hikari.GatewayBot("TOKEN")
client = hikariwave.VoiceClient(bot)

bot.run()
```

Connect to voice when a member joins:

```python
@bot.listen(hikariwave.MemberJoinVoiceEvent)
async def on_join(event):
    await voice.connect(event.guild_id, event.channel_id)
```

Play audio:

```python
@bot.listen(hikariwave.MemberJoinVoiceEvent)
async def on_join(event):
    connection = await voice.connect(event.guild_id, event.channel_id)
    source = FileAudioSource("test.mp3")

    await connection.player.play(source)
```

That's it.

## Status

- [X] Voice connect / disconnect
- [X] Audio playback
- [X] Move, reconnect, resume
- [X] Player utilities (queue, shuffle, next/previous)
- Audio Sources:
    - [X] Files
    - [X] URLs
    - [X] In-memory buffers
    - [ ] Media sites (YouTube, SoundCloud, etc.) (planned)
- [ ] Discord `DAVE` (planned)

## Documentation

Full documentation is available at:
[https://hikari-wave.wildevstudios.net/](https://hikari-wave.wildevstudios.net/)

## Contributing

Bug reports and feature requests are welcome via GitHub Issues.
Clear reproduction steps and context are appreciated.

## License

MIT License &copy; 2025 WilDev Studios
