%global _empty_manifest_terminate_build 0
Name: python-dhooks
Version: 1.1.4
Release: 1
Summary: An (a)sync wrapper for discord webhooks
License: MIT
URL: https://github.com/4rqm/dhooks/
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/86/ed/d61beae391e49427877e6fd43881e7e04ff398c1f5ad31269c2a0dfb50be/dhooks-1.1.4.tar.gz
BuildArch: noarch
%description
Discord Webhooks
Interact with discord webhooks using python.
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.
```commandline
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.
```commandline
git clone https://github.com/kyb3r/dhooks.git
cd dhooks
pip install .[tests,docs,examples]
```
## Quick Start
### Sending Messages:
```python
from dhooks import Webhook
hook = Webhook('url')
hook.send("Hello there! I'm a webhook :open_mouth:")
```
### Discord Embeds:
You can easily format and send embeds using this library.
Note: `Embed` objects from `discord.py` are also compatible with this library.
```python
from dhooks import Webhook, Embed
hook = Webhook('url')
embed = Embed(
description='This is the **description** of the embed! :smiley:',
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 :open_mouth:')
embed.add_field(name='Another Field', value='1234 :smile:')
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.
```python
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:
```python
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.
```python
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.
```python
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.
```python
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.
```python
async def main():
async with Webhook.Async('url') as hook:
await hook.send('hello')
```
## Documentation
You can find the full API reference [here](https://dhooks.readthedocs.io).
## 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](https://discord.gg/etJNHCQ).
%package -n python3-dhooks
Summary: An (a)sync wrapper for discord webhooks
Provides: python-dhooks
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-dhooks
Discord Webhooks
Interact with discord webhooks using python.
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.
```commandline
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.
```commandline
git clone https://github.com/kyb3r/dhooks.git
cd dhooks
pip install .[tests,docs,examples]
```
## Quick Start
### Sending Messages:
```python
from dhooks import Webhook
hook = Webhook('url')
hook.send("Hello there! I'm a webhook :open_mouth:")
```
### Discord Embeds:
You can easily format and send embeds using this library.
Note: `Embed` objects from `discord.py` are also compatible with this library.
```python
from dhooks import Webhook, Embed
hook = Webhook('url')
embed = Embed(
description='This is the **description** of the embed! :smiley:',
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 :open_mouth:')
embed.add_field(name='Another Field', value='1234 :smile:')
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.
```python
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:
```python
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.
```python
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.
```python
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.
```python
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.
```python
async def main():
async with Webhook.Async('url') as hook:
await hook.send('hello')
```
## Documentation
You can find the full API reference [here](https://dhooks.readthedocs.io).
## 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](https://discord.gg/etJNHCQ).
%package help
Summary: Development documents and examples for dhooks
Provides: python3-dhooks-doc
%description help
Discord Webhooks
Interact with discord webhooks using python.
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.
```commandline
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.
```commandline
git clone https://github.com/kyb3r/dhooks.git
cd dhooks
pip install .[tests,docs,examples]
```
## Quick Start
### Sending Messages:
```python
from dhooks import Webhook
hook = Webhook('url')
hook.send("Hello there! I'm a webhook :open_mouth:")
```
### Discord Embeds:
You can easily format and send embeds using this library.
Note: `Embed` objects from `discord.py` are also compatible with this library.
```python
from dhooks import Webhook, Embed
hook = Webhook('url')
embed = Embed(
description='This is the **description** of the embed! :smiley:',
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 :open_mouth:')
embed.add_field(name='Another Field', value='1234 :smile:')
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.
```python
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:
```python
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.
```python
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.
```python
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.
```python
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.
```python
async def main():
async with Webhook.Async('url') as hook:
await hook.send('hello')
```
## Documentation
You can find the full API reference [here](https://dhooks.readthedocs.io).
## 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](https://discord.gg/etJNHCQ).
%prep
%autosetup -n dhooks-1.1.4
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-dhooks -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Mon Apr 10 2023 Python_Bot - 1.1.4-1
- Package Spec generated