All Projects → serenity-rs → songbird

serenity-rs / songbird

Licence: ISC License
An async Rust library for the Discord voice API

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to songbird

Discord.js
discord.js is a powerful Node.js module that allows you to easily interact with the Discord API.
Stars: ✭ 16,432 (+9623.08%)
Mutual labels:  discord-api, voice-support
DiscordCoreAPI
A bot library for Discord, written in C++, and featuring explicit multithreading through the usage of custom, asynchronous C++ CoRoutines.
Stars: ✭ 104 (-38.46%)
Mutual labels:  discord-api, voice-support
discord.js-modules
Modularisation of discord.js (WIP)
Stars: ✭ 210 (+24.26%)
Mutual labels:  discord-api, voice-support
auto
A code scanner Discord bot.
Stars: ✭ 15 (-91.12%)
Mutual labels:  discord-api
mass-dm-discord
A MassDM selfbot which is working in 2021. Only for educational purposes 🥱🚀
Stars: ✭ 87 (-48.52%)
Mutual labels:  discord-api
Discord-Selfbot
Discord.js selfbot
Stars: ✭ 24 (-85.8%)
Mutual labels:  discord-api
Deadcord
💀 The first raid tool of its kind. Inject Deadcord and raid servers directly from the Discord client. https://t.me/deadcordofficial
Stars: ✭ 144 (-14.79%)
Mutual labels:  discord-api
A41SLBOT
All For One Bot is an open-source discord server bot built for All For One SL™ discord server.
Stars: ✭ 83 (-50.89%)
Mutual labels:  discord-api
Discord-Reposter
Bot for reposting Discord messages (work in progress)
Stars: ✭ 62 (-63.31%)
Mutual labels:  discord-api
myChat
MyChat es una aplicación de mensajería en tiempo real con servidores de Discord (similar a un canal de Discord).
Stars: ✭ 30 (-82.25%)
Mutual labels:  discord-api
SataniaBot
The most devilish bot for Discord!
Stars: ✭ 20 (-88.17%)
Mutual labels:  discord-api
CustomRPC
Set a custom rich presence status on Discord
Stars: ✭ 25 (-85.21%)
Mutual labels:  discord-api
discord-api-types
Up to date Discord API Typings, versioned by the API version
Stars: ✭ 270 (+59.76%)
Mutual labels:  discord-api
Commando
[DEPRECATED] ⚫ Commando Discord bot built on discord.js-commando.
Stars: ✭ 78 (-53.85%)
Mutual labels:  discord-api
Axley
A simple multi-purpose Discord bot being made using Discord.py API wrapper..
Stars: ✭ 16 (-90.53%)
Mutual labels:  discord-api
nyxx
Wrapper around Discord API for Dart
Stars: ✭ 217 (+28.4%)
Mutual labels:  discord-api
QDiscord
QDiscord - An unofficial C++ and Qt wrapper for the Discord API.
Stars: ✭ 21 (-87.57%)
Mutual labels:  discord-api
Ellie
A bot for the Discord chat platform written in Rust with the Serenity library.
Stars: ✭ 14 (-91.72%)
Mutual labels:  discord-api
hikari-lightbulb
The official unofficial command handler for the Python discord API wrapper library, Hikari.
Stars: ✭ 152 (-10.06%)
Mutual labels:  discord-api
delet
[DEPRECATED - see README.md] a Discord bot made using Discord.js
Stars: ✭ 46 (-72.78%)
Mutual labels:  discord-api

docs-badge build badge guild-badge crates.io version rust 1.51.0+ badge

Songbird

Songbird is an async, cross-library compatible voice system for Discord, written in Rust. The library offers:

  • A standalone gateway frontend compatible with serenity and twilight using the "gateway" and "[serenity/twilight]-[rustls/native]" features. You can even run driverless, to help manage your lavalink sessions.
  • A standalone driver for voice calls, via the "driver" feature. If you can create a ConnectionInfo using any other gateway, or language for your bot, then you can run the songbird voice driver.
  • And, by default, a fully featured voice system featuring events, queues, RT(C)P packet handling, seeking on compatible streams, shared multithreaded audio stream caches, and direct Opus data passthrough from DCA files.

Intents

Songbird's gateway functionality requires you to specify the GUILD_VOICE_STATES intent.

Dependencies

Songbird needs a few system dependencies before you can use it.

  • Opus - Audio codec that Discord uses. If you are on Windows and you are using the MSVC toolchain, a prebuilt DLL is provided for you, you do not have to do anything. On other platforms, you will have to install it. You can install the library with apt install libopus-dev on Ubuntu or pacman -S opus on Arch Linux. If you do not have it installed it will be built for you. However, you will need a C compiler and the GNU autotools installed. Again, these can be installed with apt install build-essential autoconf automake libtool m4 on Ubuntu or pacman -S base-devel on Arch Linux.

This is a required dependency. Songbird cannot work without it.

  • FFmpeg - Audio/Video conversion tool. You can install the tool with apt install ffmpeg on Ubuntu or pacman -S ffmpeg on Arch Linux.

This is an optional, but recommended dependency. It allows Songbird to convert from, for instance, .mp4 files to the audio format Discord uses.

  • youtube-dl - Audio/Video download tool. You can install the tool with Python's package manager, pip, which we recommend for youtube-dl. You can do it with the command pip install youtube_dl. Alternatively, you can install it with your system's package manager, apt install youtube-dl on Ubuntu or pacman -S youtube-dl on Arch Linux.

This is an optional dependency. It allows Songbird to download an audio source from the Internet, which will be converted to the audio format Discord uses.

Examples

Full examples showing various types of functionality and integrations can be found in this crate's examples directory.

Contributing

If you want to help out or file an issue, please look over our contributor guidelines!

Attribution

Songbird's logo is based upon the copyright-free image "Black-Capped Chickadee" by George Gorgas White.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].