32 个版本

0.13.0 2024 年 8 月 1 日
0.12.0 2024 年 4 月 30 日
0.11.0 2024 年 2 月 26 日
0.10.0-beta.32023 年 9 月 16 日
0.3.0-alpha2020 年 10 月 24 日

#630 in 网页编程

Download history 155/week @ 2024-04-29 7/week @ 2024-05-06 23/week @ 2024-05-13 5/week @ 2024-05-20 19/week @ 2024-06-03 3/week @ 2024-06-10 29/week @ 2024-06-17 24/week @ 2024-07-01 27/week @ 2024-07-15 67/week @ 2024-07-22 143/week @ 2024-07-29 9/week @ 2024-08-05

246 每月下载量

MPL-2.0 许可证

625KB
4.5K SLoC

lavalink-rs

lavalink 的 API 封装。与所有基于 tokio 1.x 的 discord crate 或基于 asyncio 的 discord Python 库兼容。

如果您有问题,可以在 serenitylavalinkhikari 的 discord 服务器中获得支持,或者通过在 gitlab 仓库 中打开问题来获取支持。

该库的文档可以在 这里(Rust)找到这里(Python)找到

待办事项

0.14

  • 为 QueueRef 实现 __anext__
  • 实现一些常量方法
  • RoutePlanner API
  • 支持 tokio-websockets
  • 为 rustls 功能分离提供本地和 webpki 根

未来

  • 通过示例、更好的格式化和填补缺失数据来改进文档
  • 扩展事件记录
  • discord.py 示例
  • hata 示例
  • twilight-rs 示例
  • Gitlab CI 测试
  • 实现抽象以简化使用
  • 基于区域的节点选择方法

完成

  • native_tls 后端
  • 玩家队列
  • 可读的玩家队列
  • 搜索引擎助手
  • 编写基本文档
  • Songbird 工具
  • Serenity 工具
  • Twilight 工具
  • 负载均衡器节点选择方法
  • Lavasnek (PyO3)
  • Lavasnek 事件
  • 删除自定义用户数据的第三方依赖
  • 循环节点选择方法
  • 主和备用节点选择方法
  • 基于 CPU 负载的节点选择方法
  • 基于内存使用的节点选择方法
  • 自定义节点选择方法
  • Python stubs
  • 基本的 Twilight 0.16 支持
  • 从日志中隐藏密码
  • hikari-lightbulb 示例
  • 为所有需要的模型结构实现 Python 构建器
  • 向 Python 暴露 Http 和方法
  • 从 reqwests 切换到 hyper
  • 使用 hyper 实现 SSL 支持
  • 向 Python 实现搜索工具
  • load_tracks 返回 Python 中的 Track
  • 可流式队列读取器

要安装Lavalink,可以遵循他们的入门指南

使用方法

这是如何安装库以供使用的方法。

Rust

您可以从crates.io安装最新版本

lavalink-rs = "0.13"

# or

[dependencies.lavalink-rs]
version = "0.13"

或开发版本

lavalink-rs = { git = "https://gitlab.com/vicky5124/lavalink-rs/", branch = "main"}

# or

[dependencies.lavalink-rs]
git = "https://gitlab.com/vicky5124/lavalink-rs/"
branch = "main"

如果您想使用songbird(或serenity,或twilight-model)的开发版本,请将以下内容添加到Cargo.toml中

[patch.crates-io.songbird]
git = "https://github.com/serenity-rs/songbird"
branch = "next"

[dependencies.songbird]
git = "https://github.com/serenity-rs/songbird"
branch = "next"

Python

您可以通过使用以下命令从pypi安装最新版本:python3 -m pip install lavalink_rs

操作系统 Arch Python版本 支持?
Windows x86 3.8-3.12
Windows x64 3.8-3.12
Windows aarch64 -
Mac OS x86_64 3.8-3.12
Mac OS aarch64 3.8-3.12
Linux x86 3.8-3.12
Linux x86_64 3.8-3.12
Linux armv7 3.8-3.12
Linux aarch64 3.8-3.12
Linux ppc64le -
Linux s390x -

构建库

您可以使用以下命令构建库:cargo build

为了构建Python版本,可以使用maturin。

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install maturin
maturin develop --target x86_64-unknown-linux-gnu

特性

  • macros: 默认特性 - 添加过程宏以简化使用。
  • rustls-native-roots: 默认特性 - 使用与系统受信任根的rustls。
  • rustls-webpki-roots - 使用Mozilla的受信任根集。
  • native-tls - 使用系统本地的TLS实现。
  • serenity 以支持serenity
  • songbird 以支持songbird
  • twilight 以支持twilight-model v0.15。
  • twilight16 以支持twilight-model v0.16-rc。
  • python 以支持python3.8+。

贡献

要为此项目做出贡献,请从gitlab仓库进行分支,并在那里创建合并请求。请确保更新更改日志,以记录您对库所做的任何更新。

依赖项

~9–24MB
~383K SLoC