diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-dhooks.spec | 636 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 638 insertions, 0 deletions
@@ -0,0 +1 @@ +/dhooks-1.1.4.tar.gz diff --git a/python-dhooks.spec b/python-dhooks.spec new file mode 100644 index 0000000..a914c1e --- /dev/null +++ b/python-dhooks.spec @@ -0,0 +1,636 @@ +%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 +<h1 align="center">Discord Webhooks</h1> + +<div align="center"> + <strong><i>Interact with discord webhooks using python.</i></strong> + <br> + <br> + + <a href="https://travis-ci.com/kyb3r/dhooks"> + <img src="https://img.shields.io/travis/com/kyb3r/dhooks/master.svg?style=for-the-badge&colorB=06D6A0" alt="Travis" /> + </a> + + <a href="https://test-dhooks-doc.readthedocs.io/en/latest/?badge=latest"> + <img src="https://img.shields.io/readthedocs/dhooks.svg?style=for-the-badge&colorB=E8BE5D" alt="Documentation Status" /> + </a> + + <a href="https://github.com/kyb3r/dhooks/"> + <img src="https://img.shields.io/pypi/pyversions/dhooks.svg?style=for-the-badge&colorB=F489A3" alt="Py Versions" /> + </a> + + <a href="https://pypi.org/project/dhooks/"> + <img src="https://img.shields.io/pypi/v/dhooks.svg?style=for-the-badge&colorB=61829F" alt="PyPi" /> + </a> + + <a href="https://github.com/kyb3r/dhooks/blob/master/LICENSE"> + <img src="https://img.shields.io/github/license/kyb3r/dhooks.svg?style=for-the-badge&colorB=7289DA" alt="LICENSE" /> + </a> +</div> +<br> + +<div align="center"> + This <strong>simple</strong> 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. +</div> + +## 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:") +``` + +<img src='https://i.imgur.com/8wu283y.png' width=300> + +### Discord Embeds: + +You can easily format and send embeds using this library. + +<img src='https://i.imgur.com/8Ms4OID.png' width=400> + +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 +<h1 align="center">Discord Webhooks</h1> + +<div align="center"> + <strong><i>Interact with discord webhooks using python.</i></strong> + <br> + <br> + + <a href="https://travis-ci.com/kyb3r/dhooks"> + <img src="https://img.shields.io/travis/com/kyb3r/dhooks/master.svg?style=for-the-badge&colorB=06D6A0" alt="Travis" /> + </a> + + <a href="https://test-dhooks-doc.readthedocs.io/en/latest/?badge=latest"> + <img src="https://img.shields.io/readthedocs/dhooks.svg?style=for-the-badge&colorB=E8BE5D" alt="Documentation Status" /> + </a> + + <a href="https://github.com/kyb3r/dhooks/"> + <img src="https://img.shields.io/pypi/pyversions/dhooks.svg?style=for-the-badge&colorB=F489A3" alt="Py Versions" /> + </a> + + <a href="https://pypi.org/project/dhooks/"> + <img src="https://img.shields.io/pypi/v/dhooks.svg?style=for-the-badge&colorB=61829F" alt="PyPi" /> + </a> + + <a href="https://github.com/kyb3r/dhooks/blob/master/LICENSE"> + <img src="https://img.shields.io/github/license/kyb3r/dhooks.svg?style=for-the-badge&colorB=7289DA" alt="LICENSE" /> + </a> +</div> +<br> + +<div align="center"> + This <strong>simple</strong> 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. +</div> + +## 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:") +``` + +<img src='https://i.imgur.com/8wu283y.png' width=300> + +### Discord Embeds: + +You can easily format and send embeds using this library. + +<img src='https://i.imgur.com/8Ms4OID.png' width=400> + +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 +<h1 align="center">Discord Webhooks</h1> + +<div align="center"> + <strong><i>Interact with discord webhooks using python.</i></strong> + <br> + <br> + + <a href="https://travis-ci.com/kyb3r/dhooks"> + <img src="https://img.shields.io/travis/com/kyb3r/dhooks/master.svg?style=for-the-badge&colorB=06D6A0" alt="Travis" /> + </a> + + <a href="https://test-dhooks-doc.readthedocs.io/en/latest/?badge=latest"> + <img src="https://img.shields.io/readthedocs/dhooks.svg?style=for-the-badge&colorB=E8BE5D" alt="Documentation Status" /> + </a> + + <a href="https://github.com/kyb3r/dhooks/"> + <img src="https://img.shields.io/pypi/pyversions/dhooks.svg?style=for-the-badge&colorB=F489A3" alt="Py Versions" /> + </a> + + <a href="https://pypi.org/project/dhooks/"> + <img src="https://img.shields.io/pypi/v/dhooks.svg?style=for-the-badge&colorB=61829F" alt="PyPi" /> + </a> + + <a href="https://github.com/kyb3r/dhooks/blob/master/LICENSE"> + <img src="https://img.shields.io/github/license/kyb3r/dhooks.svg?style=for-the-badge&colorB=7289DA" alt="LICENSE" /> + </a> +</div> +<br> + +<div align="center"> + This <strong>simple</strong> 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. +</div> + +## 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:") +``` + +<img src='https://i.imgur.com/8wu283y.png' width=300> + +### Discord Embeds: + +You can easily format and send embeds using this library. + +<img src='https://i.imgur.com/8Ms4OID.png' width=400> + +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 <Python_Bot@openeuler.org> - 1.1.4-1 +- Package Spec generated @@ -0,0 +1 @@ +501d7b120bee247b15f8c8601d0ed9c2 dhooks-1.1.4.tar.gz |