adding emote fucntion

This commit is contained in:
Juan 2023-07-09 22:22:23 -04:00
parent ae759b9153
commit 9aaf8d7a58
5 changed files with 62 additions and 19 deletions

3
.gitignore vendored Normal file
View file

@ -0,0 +1,3 @@
discord_info.txt
.venv
.env

24
bot.py
View file

@ -1,18 +1,32 @@
import discord
import responses
from io import BytesIO
import os
from os import getenv
from dotenv import load_dotenv, find_dotenv
load_dotenv(find_dotenv())
async def send_message(message, user_message, is_private):
try:
response = responses.get_response(user_message)
await message.author.send(response) if is_private else await message.channel.send(response)
if type(response) == str:
await message.channel.send(response)
else:
if not message.author.guild_permissions.manage_emojis:
await message.channel.send("You do not have permission to manage emojis.")
return
try:
await message.guild.create_custom_emoji(name="gif", image=response)
await message.channel.send("Emote Added")
except discord.HTTPException as e:
await message.channel.send(f"An error occurred: {e}")
except Exception as e:
print(e)
def run_discord_bot():
TOKEN = 'MTAzMTgyODc5OTcyMzE1OTU1Mw.GuDYw4.NgEcEiljxvIUcDlr3WmD0X7TV5TByT_ob769QM'
TOKEN = getenv("DISCORD_BOT_TOKEN")
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(intents=intents)
@ -34,8 +48,8 @@ def run_discord_bot():
if user_message[0] == '?':
user_message = user_message[1:]
await send_message(message, user_message, is_private=True)
else:
await send_message(message, user_message, is_private=False)
client.run(TOKEN)

View file

@ -1,2 +1,5 @@
imageio
discord.py
pyvips
requests
python-dotenv

View file

@ -1,16 +1,39 @@
import random
import seventv
import requests
from PIL import Image
from io import BytesIO
import pyvips
def get_response(message: str) -> str:
def get_response(message: str):
p_message = message.lower()
if p_message == 'hello':
return 'Hey there!'
if message == 'roll':
return str(random.randint(1, 6))
if p_message[:3] == ("add"):
url = p_message.split(" ")[1]
return(addGif(url))
if p_message == '!help':
return '`This is a help message that you can modify.`'
if p_message == 'help':
return helpText()
return 'I didn\'t understand what you wrote. Try typing "!help".'
print(p_message[:3])
return 'I didn\'t understand what you wrote. Try typing "help".'
def helpText():
return '`This is a help message that you can modify.`'
def addGif(url):
webpUrl = seventv.get_webp_url(url)
try:
webp_data = requests.get(webpUrl).content
except requests.exceptions.RequestException:
return ("Invalid URL")
image = pyvips.Image.new_from_buffer(webp_data, '')
gif_data = image.write_to_buffer('.gif')
return gif_data

View file

@ -1,8 +1,7 @@
import requests
import imageio
import io
imageio.plugins.freeimage.download()
#import imageio
#import io
#imageio.plugins.freeimage.download()
def get_webp_url(url):
emote_id = url[23:]
@ -17,6 +16,8 @@ def get_webp_url(url):
return ('No 128x128 file detected')
'''
Old function that might be used later
def webp_to_gif(url):
# Download the webp file
@ -35,7 +36,6 @@ def webp_to_gif(url):
# Return the GIF data as a bytes object
return gif_buffer.getvalue()
'''