feat: initial commit
This commit is contained in:
commit
bfc55bf2a5
5 changed files with 63 additions and 0 deletions
13
.gitignore
vendored
Normal file
13
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# Python-generated files
|
||||
__pycache__/
|
||||
*.py[oc]
|
||||
build/
|
||||
dist/
|
||||
wheels/
|
||||
*.egg-info
|
||||
|
||||
# Virtual environments
|
||||
.venv
|
||||
|
||||
# Endcord stubs
|
||||
stubs/
|
||||
1
.python-version
Normal file
1
.python-version
Normal file
|
|
@ -0,0 +1 @@
|
|||
3.13
|
||||
3
README.md
Normal file
3
README.md
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# endcord-aemoji
|
||||
|
||||
An animated emoji viewer for [endcord](https://github.com/sparklost/endcord)
|
||||
36
endcord_aemoji.py
Normal file
36
endcord_aemoji.py
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
import re
|
||||
from endcord.app import Endcord
|
||||
|
||||
EXT_NAME = "endcord_aemoji"
|
||||
EXT_VERSION = "0.1.0"
|
||||
EXT_ENDCORD_VERSION = "1.4.2"
|
||||
EXT_DESCRIPTION = "View animated custom emoji as GIFs"
|
||||
EXT_COMMAND_ASSIST = ("view_aemoji - View animated emoji", "view_aemoji")
|
||||
|
||||
EMOJI_RE = re.compile("^<:(.+):(\d+)>$")
|
||||
|
||||
|
||||
def get_emoji_url(emoji: str) -> str | None:
|
||||
m = EMOJI_RE.fullmatch(emoji)
|
||||
if m is None:
|
||||
return None
|
||||
emoji_id = m.group(2)
|
||||
return f"https://cdn.discordapp.com/emojis/{emoji}.gif"
|
||||
|
||||
|
||||
class Extension:
|
||||
def __init__(self, app):
|
||||
self.app: Endcord = app
|
||||
|
||||
def on_execute_command(self, command_text: str, chat_sel: int, tree_sel: int):
|
||||
if command_text.startswith("view_aemoji"):
|
||||
try:
|
||||
emoji = command_text.split(" ")[1]
|
||||
except IndexError:
|
||||
self.app.update_extra_line("Emoji argument not given")
|
||||
return
|
||||
emoji_url = get_emoji_url(emoji)
|
||||
if emoji_url is None:
|
||||
self.app.update_extra_line("Invalid emoji")
|
||||
return
|
||||
self.app.download_file(emoji_url, open_media=True)
|
||||
10
pyproject.toml
Normal file
10
pyproject.toml
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
[project]
|
||||
name = "endcord-aemoji"
|
||||
version = "0.1.0"
|
||||
description = "Add your description here"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.13"
|
||||
dependencies = []
|
||||
|
||||
[tool.ty.environment]
|
||||
extra-paths = ["./stubs/"]
|
||||
Loading…
Reference in a new issue