execute discord webhooks
Project description
python-discord-webhook
execute discord webhooks
Install
install via pip: pip install discord-webhook
Examples
- Basic Webhook
- Multiple Webhook Urls
- Embedded Content
- Edit Webhook Message
- Delete Webhook Message
- Send Files
- Allowed Mentions
- Use Proxies
basic webhook
from discord_webhook import DiscordWebhook webhook = DiscordWebhook(url='your webhook url', content='Webhook Message') response = webhook.execute()
multiple webhook urls
from discord_webhook import DiscordWebhook webhook_urls = ['webhook url 1', 'webhook url 2'] webhook = DiscordWebhook(url=webhook_urls, content='Webhook Message') response = webhook.execute()
webhook with embedded content
from discord_webhook import DiscordWebhook, DiscordEmbed webhook = DiscordWebhook(url='your webhook url') # create embed object for webhook embed = DiscordEmbed(title='Your Title', description='Lorem ipsum dolor sit', color=242424) # add embed object to webhook webhook.add_embed(embed) response = webhook.execute()
from discord_webhook import DiscordWebhook, DiscordEmbed webhook = DiscordWebhook(url='your webhook url') # create embed object for webhook embed = DiscordEmbed(title='Your Title', description='Lorem ipsum dolor sit', color=242424) # set author embed.set_author(name='Author Name', url='author url', icon_url='author icon url') # set image embed.set_image(url='your image url') # set thumbnail embed.set_thumbnail(url='your thumbnail url') # set footer embed.set_footer(text='Embed Footer Text') # set timestamp (default is now) embed.set_timestamp() # add fields to embed embed.add_embed_field(name='Field 1', value='Lorem ipsum') embed.add_embed_field(name='Field 2', value='dolor sit') # add embed object to webhook webhook.add_embed(embed) response = webhook.execute()
This is another example with embedded content
from discord_webhook import DiscordWebhook, DiscordEmbed webhook = DiscordWebhook(url='your webhook url', username="New Webhook Username") embed = DiscordEmbed(title='Embed Title', description='Your Embed Description', color=242424) embed.set_author(name='Author Name', url='https://github.com/lovvskillz', icon_url='https://avatars0.githubusercontent.com/u/14542790') embed.set_footer(text='Embed Footer Text') embed.set_timestamp() embed.add_embed_field(name='Field 1', value='Lorem ipsum') embed.add_embed_field(name='Field 2', value='dolor sit') embed.add_embed_field(name='Field 3', value='amet consetetur') embed.add_embed_field(name='Field 4', value='sadipscing elitr') webhook.add_embed(embed) response = webhook.execute()
By default, the embed fields are placed side by side. We can arrangee them in a new line by setting inline=False
as follows
from discord_webhook import DiscordWebhook, DiscordEmbed webhook = DiscordWebhook(url="your webhook url", username="New Webhook Username") embed = DiscordEmbed( title="Embed Title", description="Your Embed Description", color=242424 ) embed.set_author( name="Author Name", url="https://github.com/lovvskillz", icon_url="https://avatars0.githubusercontent.com/u/14542790", ) embed.set_footer(text="Embed Footer Text") embed.set_timestamp() # Set `inline=False` for the embed field to occupy the whole line embed.add_embed_field(name="Field 1", value="Lorem ipsum", inline=False) embed.add_embed_field(name="Field 2", value="dolor sit", inline=False) embed.add_embed_field(name="Field 3", value="amet consetetur") embed.add_embed_field(name="Field 4", value="sadipscing elitr") webhook.add_embed(embed) response = webhook.execute()
edit webhook messages
from discord_webhook import DiscordWebhook from time import sleep webhook = DiscordWebhook(url='your webhook url', content='Webhook content before edit') sent_webhook = webhook.execute() webhook.content = 'After Edit' sleep(10) sent_webhook = webhook.edit(sent_webhook)
delete webhook messages
from discord_webhook import DiscordWebhook from time import sleep webhook = DiscordWebhook(url='your webhook url', content='Webhook Content') sent_webhook = webhook.execute() sleep(10) webhook.delete(sent_webhook)
send files
from discord_webhook import DiscordWebhook, DiscordEmbed webhook = DiscordWebhook(url='your webhook url', username="Webhook with files") # send two images with open("path/to/first/image.jpg", "rb") as f: webhook.add_file(file=f.read(), filename='example.jpg') with open("path/to/second/image.jpg", "rb") as f: webhook.add_file(file=f.read(), filename='example2.jpg') response = webhook.execute()
You can use uploaded attachments in embeds:
from discord_webhook import DiscordWebhook, DiscordEmbed webhook = DiscordWebhook(url='your webhook url') with open("path/to/image.jpg", "rb") as f: webhook.add_file(file=f.read(), filename='example.jpg') embed = DiscordEmbed(title='Embed Title', description='Your Embed Description', color=242424) embed.set_thumbnail(url='attachment://example.jpg') webhook.add_embed(embed) response = webhook.execute()
allowed mentions
Look into the Discord Docs for examples and an explanation
This example would only ping user 123
and 124
but not everyone else.
from discord_webhook import DiscordWebhook content = "@everyone say hello to our new friends <@123> and <@124>" allowed_mentions = { "users": ["123", "124"] } webhook = DiscordWebhook(url='your webhook url', content=content, allowed_mentions=allowed_mentions) response = webhook.execute()
use proxies
from discord_webhook import DiscordWebhook proxies = { 'http': 'http://10.10.1.10:3128', 'https': 'http://10.10.1.10:1080', } webhook = DiscordWebhook(url='your webhook url', content='Webhook Message', proxies=proxies) response = webhook.execute()
or
from discord_webhook import DiscordWebhook proxies = { 'http': 'http://10.10.1.10:3128', 'https': 'http://10.10.1.10:1080', } webhook = DiscordWebhook(url='your webhook url', content='Webhook Message') webhook.set_proxies(proxies) response = webhook.execute()
use cli
usage: discord_webhook [-h] -u URL [URL ...] -c CONTENT [--username USERNAME]
[--avatar_url AVATAR_URL]
Trigger discord webhook(s).
optional arguments:
-h, --help show this help message and exit
-u URL [URL ...], --url URL [URL ...]
Webhook(s) url(s)
-c CONTENT, --content CONTENT
Message content
--username USERNAME override the default username of the webhook
--avatar_url AVATAR_URL
override the default avatar of the webhook
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.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size discord_webhook-0.11.0-py3-none-any.whl (8.4 kB) | File type Wheel | Python version py3 | Upload date | Hashes View |
Filename, size discord-webhook-0.11.0.tar.gz (9.1 kB) | File type Source | Python version None | Upload date | Hashes View |
Close
Hashes for discord_webhook-0.11.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36cc406b8a4221d574d55a33d15967c06d5f80a9f8ba7f336675d1b4975842fb |
|
MD5 | ad58b8ec8d7f89a2ef4b4e76f90f75ae |
|
BLAKE2-256 | 22ac60fa992d263495ac0c7421cd1e2e385b18e1e8237340df36f44ceea13fae |