b1naryth1ef / Disco
Discord Python library for people that like to dance
Stars: ✭ 242
Programming Languages
python
139335 projects - #7 most used programming language
Labels
Projects that are alternatives of or similar to Disco
Arikawa
A Golang library and framework for the Discord API.
Stars: ✭ 123 (-49.17%)
Mutual labels: discord-api, discord
Discord.net
An unofficial .Net wrapper for the Discord API (http://discordapp.com)
Stars: ✭ 2,253 (+830.99%)
Mutual labels: discord-api, discord
Discord.js
discord.js is a powerful Node.js module that allows you to easily interact with the
Discord API.
Stars: ✭ 16,432 (+6690.08%)
Mutual labels: discord-api, discord
Discordpp
A Modularized C++ Library for the Discord API
Stars: ✭ 111 (-54.13%)
Mutual labels: discord-api, discord
Raid Toolbox
Raid ToolBox (RTB) is a big toolkit of Spamming/Raiding/Token management tools for discord.
Stars: ✭ 211 (-12.81%)
Mutual labels: discord-api, discord
Discord Panel
📊 User friendly dashboard/tool for discord bot developpers to manage servers
Stars: ✭ 116 (-52.07%)
Mutual labels: discord-api, discord
Discordcr
Minimalist Discord library for Crystal. (Still WIP, but usable)
Stars: ✭ 137 (-43.39%)
Mutual labels: discord-api, discord
Music Bot
Simple music bot with a full-blown queue system that is easy to understand
Stars: ✭ 102 (-57.85%)
Mutual labels: discord-api, discord
Lenoxbot
🖥️ LenoxBot is a Discord bot that offers many cool new features to your Discord server!
Stars: ✭ 163 (-32.64%)
Mutual labels: discord-api, discord
Discljord
A Clojure wrapper library for the Discord API, with full API coverage (except voice, for now), and high scalability
Stars: ✭ 111 (-54.13%)
Mutual labels: discord-api, discord
Discord Py Slash Command
A simple discord slash command handler for discord.py.
Stars: ✭ 183 (-24.38%)
Mutual labels: discord-api, discord
Serenity
A Rust library for the Discord API.
Stars: ✭ 1,387 (+473.14%)
Mutual labels: discord-api, discord
Kord
Idiomatic Kotlin Wrapper for The Discord API
Stars: ✭ 203 (-16.12%)
Mutual labels: discord-api, discord
Discord Haskell
Haskell library for writing Discord bots
Stars: ✭ 129 (-46.69%)
Mutual labels: discord-api, discord
Discord.js Menu
💬 Easily create Discord.js v12 embed menus with reactions and unlimited customizable pages.
Stars: ✭ 89 (-63.22%)
Mutual labels: discord-api, discord
Discord Rich Presence Tool
A C++/Qt program that lets you fill in your own custom Discord Rich Presence information for games and activities away from the PC.
Stars: ✭ 91 (-62.4%)
Mutual labels: discord-api, discord
Discordgo
(Golang) Go bindings for Discord
Stars: ✭ 2,582 (+966.94%)
Mutual labels: discord-api, discord
Discordrpcmaker
Cross-platform Discord Rich Presence Maker, WITH BUTTONS!
Stars: ✭ 165 (-31.82%)
Mutual labels: discord-api, discord
disco
Disco is an extensive and extendable Python 2.x/3.x library for the Discord API. Disco boasts the following major features:
- Expressive, functional interface that gets out of the way
- Built for high-performance and efficiency
- Configurable and modular, take the bits you need
- Full support for Python 2.x/3.x
- Evented networking and IO using Gevent
Installation
Disco was built to run both as a generic-use library, and a standalone bot toolkit. Installing disco is as easy as running pip install disco-py
, however some extra packages are recommended for power-users, namely:
Name | Reason |
---|---|
requests[security] | adds packages for a proper SSL implementation |
ujson | faster json parser, improves performance |
erlpack (2.x), earl-etf (3.x) | ETF parser run with the --encoder=etf flag |
gipc | Gevent IPC, required for autosharding |
Examples
Simple bot using the builtin bot authoring tools:
from disco.bot import Bot, Plugin
class SimplePlugin(Plugin):
# Plugins provide an easy interface for listening to Discord events
@Plugin.listen('ChannelCreate')
def on_channel_create(self, event):
event.channel.send_message('Woah, a new channel huh!')
# They also provide an easy-to-use command component
@Plugin.command('ping')
def on_ping_command(self, event):
event.msg.reply('Pong!')
# Which includes command argument parsing
@Plugin.command('echo', '<content:str...>')
def on_echo_command(self, event, content):
event.msg.reply(content)
Using the default bot configuration, we can now run this script like so:
python -m disco.cli --token="MY_DISCORD_TOKEN" --run-bot --plugin simpleplugin
And commands can be triggered by mentioning the bot (configured by the BotConfig.command_require_mention flag):
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].