Skip to main content

Another simple wrapper for Discord webhooks

Project description

dhooks-lite

license python version build codecov Documentation Status

Contents

Overview

This is a simple to use class wrapper for posting messages on Discord via webhooks written in Python 3.

dhooks_lite 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 interface (only one way of doing things)
  • objects and attributes have the same name as in the official Discord documentation

Functionality

This library consists of a set of classes for interacting with Discord webhooks. In detail it provides following functionality:

  • Posting messages in Discord channels via webhooks (synchronous calls only)
  • Attaching Embeds to messages (optional)
  • Retrieve send reports from Discord (optional)

Examples

Hello World

Minimal example for posting a message.

from dhooks-lite import Webhook

hook = Webhook(DISCORD_WEBHOOK_URL)
hook.execute('Hello, World!')

example1

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!')

example2

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
)

example2

Installation

You can install this library directly from PyPI:

pip install dhooks-lite

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dhooks_lite-0.2.0.tar.gz (7.3 kB view hashes)

Uploaded Source

Built Distribution

dhooks_lite-0.2.0-py3-none-any.whl (7.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page