All Projects → kyb3r → Dhooks

kyb3r / Dhooks

Licence: mit
A simple python Discord webhook API wrapper

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Dhooks

Discord-Token-Grabber
Steal Discord Token Directly From Memory and bypass any kind of token protection
Stars: ✭ 32 (-76.47%)
Mutual labels:  discord, webhook
Tradingview Webhook Bot
⚙️ Send TradingView alerts to Telegram, Discord, Slack, Twitter and/or Email.
Stars: ✭ 135 (-0.74%)
Mutual labels:  webhook, discord
Skyhook
Parses webhooks and forwards them in the proper format to Discord.
Stars: ✭ 263 (+93.38%)
Mutual labels:  webhook, discord
Travis Ci Discord Webhook
⛓ Here's your serverless solution for sending build status from Travis CI to Discord as webhooks.
Stars: ✭ 273 (+100.74%)
Mutual labels:  webhook, discord
Partial.lenses.validation
Partial Lenses Validation is a JavaScript library for validating and transforming data
Stars: ✭ 39 (-71.32%)
Mutual labels:  asynchronous, json
Mtgjson
MTGJSON build scripts for Magic: the Gathering
Stars: ✭ 191 (+40.44%)
Mutual labels:  json, discord
Korio
Korio: Kotlin cORoutines I/O : Virtual File System + Async/Sync Streams + Async TCP Client/Server + WebSockets for Multiplatform Kotlin 1.3
Stars: ✭ 282 (+107.35%)
Mutual labels:  asynchronous, json
Titan
Create Discord server widgets for websites of all sizes! A simple to setup process for end-users. Server members may view or send messages into an embedded Discord channel.
Stars: ✭ 221 (+62.5%)
Mutual labels:  discord, embed
Actions Status Discord
Discord Notification Made Easy.
Stars: ✭ 26 (-80.88%)
Mutual labels:  webhook, discord
Lithium
Easy to use C++17 HTTP Server with no compromise on performances. https://matt-42.github.io/lithium
Stars: ✭ 523 (+284.56%)
Mutual labels:  asynchronous, json
Embed Visualizer
discord embed visualization tool
Stars: ✭ 306 (+125%)
Mutual labels:  discord, embed
Discordconsole
Control your Discord & Discord bot accounts and Webhooks through the command line.
Stars: ✭ 58 (-57.35%)
Mutual labels:  webhook, discord
Exploit Discord Cache System Poc
Exploit Discord's cache system to remote upload payloads on Discord users machines
Stars: ✭ 51 (-62.5%)
Mutual labels:  discord, embed
Netclient Ios
Versatile HTTP Networking in Swift
Stars: ✭ 117 (-13.97%)
Mutual labels:  asynchronous, json
Quicktype Xcode
Xcode extension to paste JSON as Swift, Objective-C, and more
Stars: ✭ 1,656 (+1117.65%)
Mutual labels:  json
Elasticsearch Dataformat
Excel/CSV/BulkJSON downloads on Elasticsearch.
Stars: ✭ 135 (-0.74%)
Mutual labels:  json
Httpexpect
End-to-end HTTP and REST API testing for Go.
Stars: ✭ 1,821 (+1238.97%)
Mutual labels:  json
Rubico
[a]synchronous functional programming
Stars: ✭ 133 (-2.21%)
Mutual labels:  asynchronous
Pysot
Surrogate Optimization Toolbox for Python
Stars: ✭ 136 (+0%)
Mutual labels:  asynchronous
Aping
angular module to get and display data by adding html-attributes
Stars: ✭ 135 (-0.74%)
Mutual labels:  json

Discord Webhooks

Interact with discord webhooks using python.

Travis Documentation Status Py Versions PyPi LICENSE

This simple library enables you to easily interact with discord webhooks, allowing you to easily format discord messages and discord embeds, retrieve webhook information, modify and delete webhooks. Asynchronous usage is also supported.

Installation

To install the library simply use pip.

pip install dhooks

If you would also like to get the latest version of dhooks from GitHub, build docs, run tests or run examples, you may want to install dhooks with the optional extended dependencies.

git clone https://github.com/kyb3r/dhooks.git
cd dhooks
pip install .[tests,docs,examples]

Quick Start

Sending Messages:

from dhooks import Webhook

hook = Webhook('url')

hook.send("Hello there! I'm a webhook 😮")

Discord Embeds:

You can easily format and send embeds using this library.

Note: Embed objects from discord.py are also compatible with this library.

from dhooks import Webhook, Embed

hook = Webhook('url')

embed = Embed(
    description='This is the **description** of the embed! 😃',
    color=0x5CDBF0,
    timestamp='now'  # sets the timestamp to current time
    )

image1 = 'https://i.imgur.com/rdm3W9t.png'
image2 = 'https://i.imgur.com/f1LOr4q.png'

embed.set_author(name='Author Goes Here', icon_url=image1)
embed.add_field(name='Test Field', value='Value of the field 😮')
embed.add_field(name='Another Field', value='1234 😄')
embed.set_footer(text='Here is my footer text', icon_url=image1)

embed.set_thumbnail(image1)
embed.set_image(image2)

hook.send(embed=embed)

Sending Files:

You can easily send files as shown.

from dhooks import Webhook, File
from io import BytesIO
import requests

hook = Webhook('url')

file = File('path/to/file.png', name='cat.png')  # optional name for discord

hook.send('Look at this:', file=file)

You can also pass a file-like object:

response = requests.get('https://i.imgur.com/rdm3W9t.png')
file = File(BytesIO(response.content), name='wow.png')

hook.send('Another one:', file=file)

Get Webhook Info:

You can get some basic information related to the webhook through Discord's API.

hook.get_info()

The following attributes will be populated with data from discord:

  • hook.guild_id
  • hook.channel_id
  • hook.default_name
  • hook.default_avatar_url

Modify and Delete Webhooks:

You can change the default name and avatar of a webhook easily.

with open('img.png', rb) as f:
    img = f.read()  # bytes

hook.modify(name='Bob', avatar=img)

hook.delete()  # webhook deleted permanently

Asynchronous Usage:

To asynchronously make requests using aiohttp, simply use Webhook.Async to create the object. An example is as follows. Simply use the await keyword when calling API methods.

from dhooks import Webhook

async def main():
    hook = Webhook.Async('url')

    await hook.send('hello')
    await hook.modify('bob')
    await hook.get_info()
    await hook.delete()

    await hook.close()  # close the client session

Alternatively you can use an async with block (asynchronous context manager) to automatically close the session once finished.

async def main():
    async with Webhook.Async('url') as hook:
        await hook.send('hello')

Documentation

You can find the full API reference here.

License

This project is licensed under MIT.

Contributing

Feel free to contribute to this project, a helping hand is always appreciated.

Join our discord server.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].