• This repository has been archived on 01/Aug/2021
  • Stars
    star
    252
  • Rank 161,312 (Top 4 %)
  • Language
    Python
  • Created over 8 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Discord Python library for people that like to dance

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

More Repositories

1

rowboat

A Discord bot for managing large communities
Python
117
star
2

dscord

Discord Library for D
D
51
star
3

telecom

telecom is a Discord voice library
Go
51
star
4

bowser

a smart, friendly, secure, and auditable ssh daemon
Go
44
star
5

discord.sh

A bash Discord library
Shell
32
star
6

sneaker

πŸ“‘ web-based AEW&C interface for DCS & Tacview
TypeScript
32
star
7

agora

sometimes people get bored and build dumb shit for dumb reasons 😎😎😎😎😎😎😎😎😎😎
Python
22
star
8

dashed

simple discord slash commands via python asyncio
Python
19
star
9

abode

abode is a self-hosted home server which aggregates your discord data in a discoverable format
Python
19
star
10

pipes

a small utilitarian language focused on data processing via streams
D
16
star
11

piera

A Python Hiera parser
Python
16
star
12

mockcord

A Mock Discord backend for integration testing.
D
15
star
13

bard

Bard is a lightweight PVR for downloading, extracting and processing TV shows from torrents
Python
14
star
14

GoPlayNao

A web-based matchmaking system for CS:GO
JavaScript
13
star
15

steamy

A Python Steam community and market API interface that will get you all hot and bothered
Python
12
star
16

rocksdb

A D binding for rocksdb
D
10
star
17

mmo

A text-based Python MMO
Python
9
star
18

b1nb0t

My personal Discord bot with support for a variety of entirely useless features
Python
9
star
19

vncbot

Python
8
star
20

robots-anonymous

It's sentient... kind of.
Python
7
star
21

dcs-ts

DCS-TS provides TypeScript support embedded within the Digital Combat Simulator Mission Scripting Environment
TypeScript
7
star
22

UrTBot

An attempt at a lighter, more configurable alternative to the BigBrotherBot for Urban Terror.
Python
7
star
23

csgofort

A CSGO portal for trading, betting, analytics, and more!
JavaScript
7
star
24

discord-reddit-sync

Syncs your Discord and Reddit accounts for dat flair
Python
6
star
25

Checkin

An open source tool for a better system of checking and managing checkin stats.
Python
6
star
26

tapshed

Clickhouse UI built for performance and usability
TypeScript
5
star
27

nodb

nodb isnt a database
C
5
star
28

rowboat-rewrite-public

CSS
5
star
29

trustee

modern ssh agent
Go
5
star
30

sandyslist

Site to help first responders and volunteers track on the ground reports and requests for assistance during Hurricane Sandy
JavaScript
5
star
31

BroCraft

Bro's don't let bro's use Java.
Python
4
star
32

jeff

jeff is a discord bot
D
4
star
33

QVMGo

A Quake 3 QVM Decompiler in Go
Go
4
star
34

Remembers

A site to create simple memorial galleries based off the google docs API
JavaScript
4
star
35

rowboat-docs

Documentation for rowboat
CSS
4
star
36

holster

A set of utilties for the average day Python developer.
Python
3
star
37

jambon

🐷 jambon helps you manage those fatty acmi files
Go
3
star
38

ClemWeb

A web control for the Clementine Music Player
JavaScript
3
star
39

LollAPI

A set of DoStuff/Lollapolooza Python API Bindings
Python
3
star
40

cubed_old

A proper open-source minecraft clone in C++
C++
3
star
41

stets

A stats plugin for CSGO/Sourcemod.
SourcePawn
3
star
42

Boteh

My ircbot built off of my irc library, JAPIL
Python
3
star
43

demoy

Python CS:GO Demo Parser
Python
3
star
44

JAPIL

Just Another Python IRC Library
Python
3
star
45

Pygcurse

My custom version of Pycurse
Python
3
star
46

dcs-docker

Dockerfile
3
star
47

LD22Jam

A project for the Ludum Dare Jam (#22)
2
star
48

shaker

A libsodium wrapper for D
D
2
star
49

be

small game development kit for Go
Go
2
star
50

dotfiles

HTML
2
star
51

neekquotes

This weird guy from irc said some stuff...
Python
2
star
52

allegro

Allegro 5.x bindings for Go programming language
Go
2
star
53

converge

converge is a file transfer utility for fast storage & networks
Go
2
star
54

Bunneh

A text-based MMO written in Python, because why not.
Python
2
star
55

biblio

biblio is an extremely fast and simple documentation generator for Python
Python
2
star
56

OmNomTV

An awesome automatic TV torrent downloader/manager/web interface thingy
Python
2
star
57

Thothy

Another attempt at a distributed, fast, and smart irc bot.
Python
2
star
58

Q3Rcon

Python Remote Console for Quake 3 and ioQ3 derivatives.
Python
2
star
59

lardoon

ACMI repository and trimming service
Go
2
star
60

So-I-Made-This-Game...

W/e broski. You jelly?
Python
2
star
61

heracles

heracles is an auth server designed to integrate with the nginx auth_request module
Go
2
star
62

csparse

A Counter-Strike: Global Offensive demo file parser
Protocol Buffer
2
star
63

2d3

The third iteration of a completely arbitrary, built for sexy coders, puppy-creating, rift smashing game engine.
C++
2
star
64

csgo

My CS:GO Configs
2
star
65

pydskchk

A simple disk checker which will email you on disk failure (works by checking for directory...)
Python
2
star
66

carto

🌎 Minecraft map renderer and web viewer
Go
2
star
67

FastFlask

A simple python script for quickly getting flask instances up and running, with support for modules.
Python
1
star
68

hollow

Logging library for D-lang that isn't moody or political
D
1
star
69

disco-moosic

DISCO MOOSIC
Python
1
star
70

bruv

Python
1
star
71

scrimr

A scrim-bot for sourcemod/CS:GO
SourcePawn
1
star
72

VLCSync

Sync yo vlc gurl
Python
1
star
73

sandysredux

Remixing SandysList for the NYC BOE use case.
JavaScript
1
star
74

disco-island

YOU ARE NOT WORTHY OF STAYING ON THIS ISLAND
Python
1
star
75

wren

D bindings for wren embedded programming language
D
1
star
76

fmod-d

D language bindings for FMOD
D
1
star
77

Rawrbot

A fast, distributed, smart, and easy to use IRC Bot
Python
1
star
78

clio

A distributed, private, sharing network for the future.
Go
1
star
79

chidata

Scripts and utilities providing an ETL-like pipeline for the City of Chicago's open data
Python
1
star
80

justtalk

A weekend hack for simple, web-based, swaggy chat
Go
1
star
81

dcad

DCA implementation in D-lang
D
1
star
82

gircd

Go IRC Server
Go
1
star
83

B1nUrT

A custom ioQ3 client for Urban Terror. It has sweet stuff in it. YOLOSWAGFISH.
C
1
star
84

poodle

oodle wrapper
C
1
star
85

apt

various scripts I use to build deb packages
Shell
1
star