Disco is an extensive and extendable Python 2.x/3.x library for the Discord API.

Overview

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', '
    
     '
    )
    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):

You might also like...
PyDiscord, a maintained fork of discord.py, is a python wrapper for the Discord API.

discord.py A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. The Future of discord.py Please read the gi

Discord bot to monitor collection of mods on the Steam Workshop and notify on update to selected discord server via Nextcordbot API.
Discord bot to monitor collection of mods on the Steam Workshop and notify on update to selected discord server via Nextcordbot API.

Steam-Workshop-Monitor Discord bot to monitor collection of mods on the Steam Workshop and notify on update to selected Discord channel via Nextcordbo

An API wrapper for discord; maintained and improved from discord.py

Fusion.py Documentation What is Fusion.py you might ask; Fusion.py is a Discord.py fork that has most of the good features from most of the big Discor

Due to changes to the discord API and discord.py being discontinued

Talia Due to changes to the discord API and discord.py being discontinued, Talia development has been halted permanently A customizable economy discor

MusicBot is the original Discord music bot written for Python 3.5+, using the discord.py library
MusicBot is the original Discord music bot written for Python 3.5+, using the discord.py library

The original MusicBot for Discord (formerly SexualRhinoceros/MusicBot)

Discord bot ( discord.py ), uses pandas library from python for data-management.

Discord_bot A Best and the most easy-to-use Discord bot !! Some simple basic auto moderations, Chat functions. It includes a game similar to Casino, g

EpikCord.py - This is an API Wrapper for Discord's API for Python

EpikCord.py - This is an API Wrapper for Discord's API for Python! We've decided not to fork discord.py and start completely from scratch for a new, better structuring system!

This is a tutorial on how to make a Discord Bot using the discord.py library

HowToMakeADiscordBot This Github repository is here to help you code a Discord Bot using the discord.py library! 1 - Setup: Download the code inside t

Some random bot for Discord which was created just for fun (Made with Discord.py library)
Some random bot for Discord which was created just for fun (Made with Discord.py library)

Ghosty Previously known as 'secondthunder-py-bot' This is repository of some random bot for Discord which was created just for fun and for some educat

Releases(v0.0.14)
  • v0.0.14(Nov 18, 2021)

    What's Changed

    • Configure Renovate by @renovate in https://github.com/py57/disca/pull/5
    • chore(deps): update dependency erlpack to v0.3.3 by @renovate in https://github.com/py57/disca/pull/7
    • chore(deps): pin dependencies by @renovate in https://github.com/py57/disca/pull/6
    • chore(deps): update dependency flask to v0.12.5 by @renovate in https://github.com/py57/disca/pull/9
    • chore(deps): update dependency pytest to v3.10.1 by @renovate in https://github.com/py57/disca/pull/14
    • chore(deps): update dependency wsaccel to v0.6.3 by @renovate in https://github.com/py57/disca/pull/10
    • chore(deps): update dependency websocket-client to v1 by @renovate in https://github.com/py57/disca/pull/27
    • chore(deps): update dependency ujson to v4 by @renovate in https://github.com/py57/disca/pull/26
    • chore(deps): update dependency pyyaml to v6 by @renovate in https://github.com/py57/disca/pull/25
    • chore(deps): update dependency pytest-runner to v5 by @renovate in https://github.com/py57/disca/pull/24
    • chore(deps): update dependency pytest to v6 by @renovate in https://github.com/py57/disca/pull/23
    • chore(deps): update dependency gipc to v1 by @renovate in https://github.com/py57/disca/pull/22
    • chore(deps): update dependency gevent to v21 by @renovate in https://github.com/py57/disca/pull/21
    • chore(deps): update dependency flask to v2 by @renovate in https://github.com/py57/disca/pull/20
    • chore(deps): update dependency flake8-comprehensions to v3 by @renovate in https://github.com/py57/disca/pull/18
    • Publisher by @VincentRPS in https://github.com/py57/disca/pull/28
    • chore(deps): update dependency flake8-quotes to v3 by @renovate in https://github.com/py57/disca/pull/19
    • chore(deps): update dependency pytest-benchmark to v3.4.1 by @renovate in https://github.com/py57/disca/pull/15
    • chore(deps): update dependency flake8-builtins to v1.5.3 by @renovate in https://github.com/py57/disca/pull/11
    • chore(deps): update dependency flake8-commas to v2.1.0 by @renovate in https://github.com/py57/disca/pull/12
    • chore(deps): update dependency flake8-tuple to v0.4.1 by @renovate in https://github.com/py57/disca/pull/13
    • chore(deps): update pypa/gh-action-pypi-publish commit hash to bea5cda by @renovate in https://github.com/py57/disca/pull/30
    • chore(deps): update dependency youtube_dl to v2021 by @renovate in https://github.com/py57/disca/pull/32

    New Contributors

    • @renovate made their first contribution in https://github.com/py57/disca/pull/5
    • @VincentRPS made their first contribution in https://github.com/py57/disca/pull/28

    Full Changelog: https://github.com/py57/disca/compare/v0.0.12...v0.0.14

    Source code(tar.gz)
    Source code(zip)
Owner
Builders Of Software For Python
null
Orca is an extensive and extendable Python 3.x library for the Discord API.

Orca is an extensive and extendable Python 3.x library for the Discord API.

RPS 4 Apr 3, 2022
A continued fork of Disco

Orca Orca is an extensive and extendable Python 3.x library for the Discord API. orca boasts the following major features: Expressive, functional inte

RPS 4 Apr 3, 2022
🚀 An asynchronous python API wrapper meant to replace discord.py - Snappy discord api wrapper written with aiohttp & websockets

Pincer An asynchronous python API wrapper meant to replace discord.py ❗ The package is currently within the planning phase ?? Links |Join the discord

Pincer 125 Dec 26, 2022
A small and fun Discord Bot that is written in Python and discord-interactions (with discord.py)

Articuno (discord-interactions) A small and fun Discord Bot that is written in Python and discord-interactions (with discord.py) Get started If you wa

Blue 8 Dec 26, 2022
Satoshi is a discord bot template in python using discord.py that allow you to track some live crypto prices with your own discord bot.

Satoshi ~ DiscordCryptoBot Satoshi is a simple python discord bot using discord.py that allow you to track your favorites cryptos prices with your own

Théo 2 Sep 15, 2022
It's a Discord bot to control your PC using your Discord Channel or using Reco: Discord PC Remote Controller App.

Reco PC Server Reco PC Server is a cross platform PC Controller Discord Bot which is a modified and improved version of Chimera for Reco-Discord PC Re

Arvinth Krishna 12 Aug 31, 2022
Discord bot script for sending multiple media files to a discord channel according to discord limitations.

Discord Bulk Image Sending Bot Send bulk images to Discord channel. This is a bot script that will allow you to send multiple images to Discord channe

Nikola Arbov 1 Jan 13, 2022
DeKrypt 24 Sep 21, 2022
Pycord, a maintained fork of discord.py, is a python wrapper for the Discord API

pycord A fork of discord.py. PyCord is a modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. Key Features Mo

Pycord Development 2.3k Dec 31, 2022
An asyncio Python wrapper around the Discord API, forked off of Rapptz's Discord.py.

Novus A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. A full fork of Rapptz's Discord.py library, with

Voxel Fox 60 Jan 3, 2023