All Projects → b1naryth1ef → Disco

b1naryth1ef / Disco

Discord Python library for people that like to dance

Programming Languages

python
139335 projects - #7 most used programming language

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
Sword
Discord library for Swift
Stars: ✭ 166 (-31.4%)
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
Swiftdiscord
Discord API Client for Swift
Stars: ✭ 103 (-57.44%)
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

PyPI PyPI TravisCI

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].