dhooks-lite
Contents
Overview
dhooks-lite is a library with a set of classes for interacting with Discord webhooks written in Python 3.
This library aims to differentiate itself from similar libraries with the following properties:
- runs on any Python 3 version, including older version (e.g. 3.4, 3.5.2)
- is fully tested
- simple to use (only one way of doing things, same name of attributes and objects as in the official Discord documentation)
- has standard logging
Functionality
This library provides following functionality:
- Posting messages in Discord channels via webhooks (synchronous calls only)
- Attaching Embeds to messages
- Retrieve send reports and from Discord
- Retrieve HTTP status and headers from Discord, e.g. for implementing rate limit handling
Examples
Here are some examples on how to use dhooks-lite in your Python scripts.
Note that you also find the source code of all examples in the /examples folder of this repo.
Hello World
Minimal example for posting a message.
from dhooks_lite import Webhook
hook = Webhook(DISCORD_WEBHOOK_URL)
hook.execute('Hello, World!')
Posting with custom avatar
In this example we are setting username and avatar.
from dhooks_lite import Webhook
hook = Webhook(
DISCORD_WEBHOOK_URL,
username='Bruce Wayne',
avatar_url='https://i.imgur.com/thK8erv.png'
)
hook.execute('I am Batman!')
Complete example with embeds
Finally, here is an example for posting a message with two embeds and using all available features (shortened):
import datetime
from dhooks_lite import Webhook, Embed, Footer, Image, Thumbnail, Author, Field
hook = Webhook(DISCORD_WEBHOOK_URL)
e1 = Embed(
description='Only a few years ago, scientists stumbled upon an electrical current of cosmic proportions.(...)',
title='Universe\'s highest electric current found',
url='https://www.newscientist.com/article/mg21028174-900-universes-highest-electric-current-found/',
timestamp=datetime.datetime.utcnow(),
color=0x5CDBF0,
footer=Footer(
'Science Department',
'https://i.imgur.com/Bgsv04h.png'
),
image=Image('https://i.imgur.com/eis1Y0P.jpg'),
thumbnail=Thumbnail('https://i.imgur.com/2A4k28x.jpg'),
author=Author(
'John Scientist',
url='https://en.wikipedia.org/wiki/Albert_Einstein',
icon_url='https://i.imgur.com/1JoHDw1.png'
),
fields=[
Field('1st Measurement', 'Failed'),
Field('2nd Measurement', 'Succeeded')
]
)
e2 = Embed(description="TOP SECRET - Do not distribute!")
hook.execute(
'Checkout this new report from the science department:',
username='Bruce Wayne',
avatar_url='https://i.imgur.com/thK8erv.png',
embeds=[e1, e2],
wait_for_response=True
)
Installation
You can install this library directly from PyPI:
pip install dhooks-lite
Documentation
For a full documentation of all classes please see the official docs here.
Contribution
We welcome any contribution!
If you found a bug or have a feature request please raise an issue.
If you want to help further improve this library please feel free to issue a merge request. Please adhere to the following requirements in your change:
- Code should be compliant with PEP8
- Full overage by unit tests
- All classes should be immutable
- All classes and their public methods must have docstring documentation
- All changes must be documented in the Change Log
Metadata
Release files for dhooks-lite 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dhooks_lite-0.3.1.tar.gz | 8.1 kB | Details |
Release files / dhooks_lite-0.3.1.tar.gz
| Download URL | dhooks_lite-0.3.1.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
aff6dfc22ab60304b4960d6e4a225f414372b7bc4f19524a1da645a12ff0b297
|
|
BLAKE2b-256 checksum How to use checksums |
c2139e6cd9e4bb12c05d9022450423611422e7ca49817cdec5d9c79d9101c98f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.15.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.4.4
|