mirror of
https://github.com/JimenezJC/discord-7tv-emoji-app.git
synced 2025-12-05 23:39:55 -05:00
adding emote fucntion
This commit is contained in:
parent
ae759b9153
commit
9aaf8d7a58
5 changed files with 62 additions and 19 deletions
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
discord_info.txt
|
||||||
|
.venv
|
||||||
|
.env
|
||||||
24
bot.py
24
bot.py
|
|
@ -1,18 +1,32 @@
|
||||||
import discord
|
import discord
|
||||||
import responses
|
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):
|
async def send_message(message, user_message, is_private):
|
||||||
try:
|
try:
|
||||||
response = responses.get_response(user_message)
|
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:
|
except Exception as e:
|
||||||
print(e)
|
print(e)
|
||||||
|
|
||||||
|
|
||||||
def run_discord_bot():
|
def run_discord_bot():
|
||||||
TOKEN = 'MTAzMTgyODc5OTcyMzE1OTU1Mw.GuDYw4.NgEcEiljxvIUcDlr3WmD0X7TV5TByT_ob769QM'
|
TOKEN = getenv("DISCORD_BOT_TOKEN")
|
||||||
intents = discord.Intents.default()
|
intents = discord.Intents.default()
|
||||||
intents.message_content = True
|
intents.message_content = True
|
||||||
client = discord.Client(intents=intents)
|
client = discord.Client(intents=intents)
|
||||||
|
|
@ -34,8 +48,8 @@ def run_discord_bot():
|
||||||
|
|
||||||
if user_message[0] == '?':
|
if user_message[0] == '?':
|
||||||
user_message = user_message[1:]
|
user_message = user_message[1:]
|
||||||
await send_message(message, user_message, is_private=True)
|
|
||||||
else:
|
|
||||||
await send_message(message, user_message, is_private=False)
|
await send_message(message, user_message, is_private=False)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
client.run(TOKEN)
|
client.run(TOKEN)
|
||||||
|
|
@ -1,2 +1,5 @@
|
||||||
imageio
|
imageio
|
||||||
discord.py
|
discord.py
|
||||||
|
pyvips
|
||||||
|
requests
|
||||||
|
python-dotenv
|
||||||
35
responses.py
35
responses.py
|
|
@ -1,16 +1,39 @@
|
||||||
import random
|
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()
|
p_message = message.lower()
|
||||||
|
|
||||||
if p_message == 'hello':
|
if p_message == 'hello':
|
||||||
return 'Hey there!'
|
return 'Hey there!'
|
||||||
|
|
||||||
if message == 'roll':
|
if p_message[:3] == ("add"):
|
||||||
return str(random.randint(1, 6))
|
url = p_message.split(" ")[1]
|
||||||
|
return(addGif(url))
|
||||||
|
|
||||||
if p_message == '!help':
|
if p_message == 'help':
|
||||||
return '`This is a help message that you can modify.`'
|
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
|
||||||
|
|
@ -1,8 +1,7 @@
|
||||||
import requests
|
import requests
|
||||||
import imageio
|
#import imageio
|
||||||
import io
|
#import io
|
||||||
imageio.plugins.freeimage.download()
|
#imageio.plugins.freeimage.download()
|
||||||
|
|
||||||
|
|
||||||
def get_webp_url(url):
|
def get_webp_url(url):
|
||||||
emote_id = url[23:]
|
emote_id = url[23:]
|
||||||
|
|
@ -17,6 +16,8 @@ def get_webp_url(url):
|
||||||
|
|
||||||
return ('No 128x128 file detected')
|
return ('No 128x128 file detected')
|
||||||
|
|
||||||
|
'''
|
||||||
|
Old function that might be used later
|
||||||
|
|
||||||
def webp_to_gif(url):
|
def webp_to_gif(url):
|
||||||
# Download the webp file
|
# Download the webp file
|
||||||
|
|
@ -35,7 +36,6 @@ def webp_to_gif(url):
|
||||||
|
|
||||||
# Return the GIF data as a bytes object
|
# Return the GIF data as a bytes object
|
||||||
return gif_buffer.getvalue()
|
return gif_buffer.getvalue()
|
||||||
|
'''
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue