discord-7tv-emoji-app/7tv.py

41 lines
972 B
Python

import requests
import imageio
import io
imageio.plugins.freeimage.download()
def get_webp_url(url):
emote_id = url[23:]
api_call = ('https://7tv.io/v3/emotes/' + emote_id)
response = requests.get(api_call).json()
image_url = response['host']['url']
for file in response['host']['files']:
if file['width'] == 128 and file['name'][3:] == 'webp':
return ('https:' + image_url + '/' + file['name'])
return ('No 128x128 file detected')
def webp_to_gif(url):
# Download the webp file
response = requests.get(url)
print(url)
# Open the webp file using imageio
im = imageio.imread(response.content, format="WEBP")
# Create a bytes buffer to hold the GIF data
gif_buffer = io.BytesIO()
# Write the image as a GIF file to the bytes buffer
imageio.mimwrite(gif_buffer, [im], format='GIF', loop=1, duration=1)
# Return the GIF data as a bytes object
return gif_buffer.getvalue()