Another simple class wrapper for interacting with Discord webhooks.
Project description
dhooks-lite
Another simple class wrapper for interacting with Discord webhooks.
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:
- 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 logging
- requests are automatically retried and have sensible timeouts
- works with older Python versions
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file dhooks_lite-1.1.0.tar.gz
.
File metadata
- Download URL: dhooks_lite-1.1.0.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fee6ac0bdec54ab4800e8696270161833167ab0bd8c27a0812178f664a1ca0a |
|
MD5 | 08c8e872560a0cac97a8f599df950171 |
|
BLAKE2b-256 | 694fb8d58e88babd930314a4ec7dbf6190479353d69b8a2015757522a69f8e7b |
File details
Details for the file dhooks_lite-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: dhooks_lite-1.1.0-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e40fc74da2f9ceeed4e39d10d2d917627a535dc1d6a93ff03f7b865e3d371c9 |
|
MD5 | 794d638118a6ac84d201bd943500a6c2 |
|
BLAKE2b-256 | b0b1ef4cef58be27b241620a936c5f6e28115e2dc8580f186be8af78a206bdbe |