# asyncdagpi
[](https://travis-ci.com/Daggy1234/asyncdagpi) [](https://mit-license.org/)  [](https://pypi.org/p/asyncdagpi) [](https://asyncdagpi.readthedocs.io/en/latest/?badge=latest) [](https://codecov.io/gh/daggy1234/asyncdagpi) [](https://www.codacy.com/gh/Daggy1234/asyncdagpi/dashboard?utm_source=github.com&utm_medium=referral&utm_content=Daggy1234/asyncdagpi&utm_campaign=Badge_Grade)
Powerful Asynchronous Wrapper for dagpi [dagpi.xyz](https://dagpi.xyz)
## Installation
```shell script
pip install asyncdagpi
```
## Data API
Some endpoints like WTP, PickupLine and Logo will return Objects while Waifu will return a Dictionary. Everything else will return a string.
```python
from asyncdagpi import Client
dagpi = Client("dagpi token")
# For WTP Object
wtp = await dagpi.wtp()
#For Roast
roast = await dagpi.roast()
```
## Image Manipulation
All Image endpoints return an Image object. This has many properties that can be useful for developers. For Basic implementations are displayed
### Discord.py
```python
from discord.ext import commands
import discord
from asyncdagpi import Client, ImageFeatures
bot = commands.Bot(command_prefix="!")
dagpi = Client("dagpi token")
@bot.command()
async def pixel(ctx, member: discord.Member):
url = str(member.display_avatar.with_format("png").with_size(1024))
img = await dagpi.image_process(ImageFeatures.pixel(), url)
file = discord.File(fp=img.image,filename=f"pixel.{img.format}")
await ctx.send(file=file)
```
### Pycord
```python
from discord.ext import commands
import discord
from asyncdagpi import Client, ImageFeatures
bot = discord.Bot()
dagpi = Client("dagpi token")
@bot.slash_command(guild_ids=[...])
async def pixel(
ctx, member: discord.Member = None
): # Passing a default value makes the argument optional
user = member or ctx.author
url = str(member.display_avatar.with_format("png").with_size(1024))
img = await dagpi.image_process(ImageFeatures.pixel(), url)
file = discord.File(fp=img.image,filename=f"pixel.{img.format}")
```
### Writing To File
```python
from asyncdagpi import Client, ImageFeatures
dagpi = Client("dagpi token")
img = await dagpi.image_process(ImageFeatures.pixel(), "https://dagbot-is.the-be.st/logo.png")
#it will auto chose the right format and write to current directory
img.write("pixel")
#will create pixel.png in this case
```
### Python Pillow
```python
from asyncdagpi import ImageFeatures, Client
from PIL import Image
dagpi = Client("dagpi token")
img = await dagpi.image_process(ImageFeatures.pixel(), "https://dagbot-is.the-be.st/logo.png")
im = Image.open(img.image)
```
### Kwargs Example
```python
from asyncdagpi import ImageFeatures, Client
dagpi = Client("dagpi token")
img = await dagpi.image_process(ImageFeatures.tweet(), "https://dagbot-is.the-be.st/logo.png", text="This is asyncdagpi tweeting live from dagpi.xyz!", username="Asyncdagpi")
```
### For More Thorough Examples and Feature list read the documentation
[Docs](https://asyncdagpi.rtfd.io)
[Dagpi Docs](https://dagpi.docs.apiary.io)