Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/serenity-rs/poise

Discord bot command framework for serenity, with advanced features like edit tracking and flexible argument parsing
https://github.com/serenity-rs/poise

discord hacktoberfest rust serenity slash-commands

Last synced: about 2 months ago
JSON representation

Discord bot command framework for serenity, with advanced features like edit tracking and flexible argument parsing

Awesome Lists containing this project

README

        

[![Build](https://img.shields.io/github/actions/workflow/status/serenity-rs/poise/ci.yml?branch=current)](https://serenity-rs.github.io/poise/)
[![crates.io](https://img.shields.io/crates/v/poise.svg)](https://crates.io/crates/poise)
[![Docs](https://img.shields.io/badge/docs-online-informational)](https://docs.rs/poise/)
[![Docs (git)](https://img.shields.io/badge/docs%20%28git%29-online-informational)](https://serenity-rs.github.io/poise/)
[![License: MIT](https://img.shields.io/badge/license-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Rust: 1.74+](https://img.shields.io/badge/rust-1.74+-93450a)](https://blog.rust-lang.org/2023/11/16/Rust-1.74.0.html)

# Poise
Poise is an opinionated Discord bot framework with a few distinctive features:
- slash commands: completely define slash commands with a single function signature
- flexible argument parsing: command parameters are defined with normal Rust types and parsed automatically
- text commands: commands are agnostic over old text-based commands and slash commands
- edit tracking: when user edits their message, automatically update bot response

# How to use

Most information is in the [API documentation](https://docs.rs/poise/). Also take a
look at the [examples](examples), especially [`feature_showcase`](examples/feature_showcase), to learn what poise can do.

If you're using a development version from git directly, you probably want to look at the documentation for the
[`current`](https://serenity-rs.github.io/poise/current) or [`next`](https://serenity-rs.github.io/poise/next) branch instead.

For further questions, don't hesitate to join the support server: https://discord.gg/serenity-rs.

# Bots using poise

For each bot, there's a list of notable features for you to take inspiration from.

- [Dexscreener Pricebot](https://github.com/keiveulbugs/Dexscreener_pricebot) by [@keiveulbugs](https://github.com/keiveulbugs): embeds, API calls, ephemeral messages
- [TTS Bot](https://github.com/Discord-TTS/Bot/) by [@GnomedDev](https://github.com/GnomedDev): localization, database, voice
- [Scripty](https://github.com/scripty-bot/scripty) by [@tazz4843](https://github.com/tazz4843): localization, database, voice
- [Etternabot](https://github.com/kangalio/Etternabot) by [@kangalio](https://github.com/kangalio): response transformation, variadic and lazy arguments
- [Rustbot](https://github.com/rust-community-discord/ferrisbot-for-discord) by [@kangalio](https://github.com/kangalio): database, custom prefixes
- [StatPixel](https://github.com/statpixel-rs/statpixel) by [@matteopolak](https://github.com/matteopolak): modals, buttons, dropdowns, database, localization

You're welcome to add your own bot [via a PR](https://github.com/serenity-rs/poise/compare)!

For more projects, see GitHub's [Used By page](https://github.com/serenity-rs/poise/network/dependents).