mirror of
https://github.com/RYGhub/royalnet.git
synced 2024-11-27 13:34:28 +00:00
Port ciaoruozi, diario, diarioquote, emojify, peertube
This commit is contained in:
parent
961b30cf6c
commit
8b7a53a56c
20 changed files with 817 additions and 314 deletions
40
.gitignore
vendored
40
.gitignore
vendored
|
@ -1,13 +1,31 @@
|
|||
config.ini
|
||||
.idea/
|
||||
.vscode/
|
||||
__pycache__
|
||||
# Royalnet ignores
|
||||
config*.toml
|
||||
downloads/
|
||||
ignored/
|
||||
markovmodels/
|
||||
logs/
|
||||
*.egg-info/
|
||||
.pytest_cache/
|
||||
|
||||
|
||||
# Python ignores
|
||||
**/__pycache__/
|
||||
dist/
|
||||
build/
|
||||
venv/
|
||||
*.egg-info/
|
||||
**/*.pyc
|
||||
|
||||
# PyCharm ignores
|
||||
.idea/**/workspace.xml
|
||||
.idea/**/tasks.xml
|
||||
.idea/**/usage.statistics.xml
|
||||
.idea/**/dictionaries
|
||||
.idea/**/shelf
|
||||
.idea/**/contentModel.xml
|
||||
.idea/**/dataSources/
|
||||
.idea/**/dataSources.ids
|
||||
.idea/**/dataSources.local.xml
|
||||
.idea/**/sqlDataSources.xml
|
||||
.idea/**/dynamic.xml
|
||||
.idea/**/uiDesigner.xml
|
||||
.idea/**/dbnavigator.xml
|
||||
.idea/**/gradle.xml
|
||||
.idea/**/libraries
|
||||
.idea/**/markdown-navigator.xml
|
||||
.idea/**/markdown-exported-files.xml
|
||||
.idea/**/misc.xml
|
||||
.idea/**/*.iml
|
62
README.md
62
README.md
|
@ -1,65 +1,3 @@
|
|||
# `royalpack` [![PyPI](https://img.shields.io/pypi/v/royalpack.svg)](https://pypi.org/project/royalpack/)
|
||||
|
||||
The Royalnet Pack used in the Royal Games community!
|
||||
|
||||
## Commands
|
||||
|
||||
### `ciaoruozi`
|
||||
|
||||
### `color`
|
||||
|
||||
### `cv`
|
||||
|
||||
### `diario`
|
||||
|
||||
### `rage`
|
||||
|
||||
### `reminder`
|
||||
|
||||
### `ship`
|
||||
|
||||
### `smecds`
|
||||
|
||||
### `videochannel`
|
||||
|
||||
### `trivia`
|
||||
|
||||
### `matchmaking`
|
||||
|
||||
### `pause`
|
||||
|
||||
### `play`
|
||||
|
||||
### `playmode`
|
||||
|
||||
### `queue`
|
||||
|
||||
### `skip`
|
||||
|
||||
### `summon`
|
||||
|
||||
### `youtube`
|
||||
|
||||
### `soundcloud`
|
||||
|
||||
### `zawarudo`
|
||||
|
||||
### `emojify`
|
||||
|
||||
### `leagueoflegends`
|
||||
|
||||
### `diarioquote`
|
||||
|
||||
### `mp3`
|
||||
|
||||
### `peertube`
|
||||
|
||||
## Stars
|
||||
|
||||
### `/api/diario/list`
|
||||
|
||||
### `/api/diario/get/{id}`
|
||||
|
||||
### `/api/user/list`
|
||||
|
||||
### `/api/user/get/{id}`
|
||||
|
|
716
poetry.lock
generated
716
poetry.lock
generated
|
@ -1,7 +1,54 @@
|
|||
[[package]]
|
||||
category = "main"
|
||||
description = "Async http client/server framework (asyncio)"
|
||||
name = "aiohttp"
|
||||
optional = false
|
||||
python-versions = ">=3.5.3"
|
||||
version = "3.6.2"
|
||||
|
||||
[package.dependencies]
|
||||
async-timeout = ">=3.0,<4.0"
|
||||
attrs = ">=17.3.0"
|
||||
chardet = ">=2.0,<4.0"
|
||||
multidict = ">=4.5,<5.0"
|
||||
yarl = ">=1.0,<2.0"
|
||||
|
||||
[package.extras]
|
||||
speedups = ["aiodns", "brotlipy", "cchardet"]
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Timeout context manager for asyncio programs"
|
||||
name = "async-timeout"
|
||||
optional = false
|
||||
python-versions = ">=3.5.3"
|
||||
version = "3.0.1"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Classes Without Boilerplate"
|
||||
name = "attrs"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
version = "19.3.0"
|
||||
|
||||
[package.extras]
|
||||
azure-pipelines = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "pytest-azurepipelines"]
|
||||
dev = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface", "sphinx", "pre-commit"]
|
||||
docs = ["sphinx", "zope.interface"]
|
||||
tests = ["coverage", "hypothesis", "pympler", "pytest (>=4.3.0)", "six", "zope.interface"]
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Python package for providing Mozilla's CA Bundle."
|
||||
name = "certifi"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
version = "2019.9.11"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Foreign Function Interface for Python calling C code."
|
||||
marker = "sys_platform == \"linux\""
|
||||
name = "cffi"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
|
@ -10,10 +57,49 @@ version = "1.13.2"
|
|||
[package.dependencies]
|
||||
pycparser = "*"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Universal encoding detector for Python 2 and 3"
|
||||
name = "chardet"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
version = "3.0.4"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Composable command line interface toolkit"
|
||||
name = "click"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
version = "7.0"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Cross-platform colored terminal text."
|
||||
marker = "sys_platform == \"win32\""
|
||||
name = "colorama"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
version = "0.4.1"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Colored terminal output for Python's logging module"
|
||||
name = "coloredlogs"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
version = "10.0"
|
||||
|
||||
[package.dependencies]
|
||||
colorama = "*"
|
||||
humanfriendly = ">=4.7"
|
||||
|
||||
[package.extras]
|
||||
cron = ["capturer (>=2.4)"]
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
|
||||
marker = "sys_platform == \"linux\""
|
||||
name = "cryptography"
|
||||
optional = false
|
||||
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
|
||||
|
@ -46,50 +132,131 @@ tzlocal = "*"
|
|||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Discover and load entry points from installed packages."
|
||||
name = "entrypoints"
|
||||
description = "A python wrapper for the Discord API"
|
||||
name = "discord.py"
|
||||
optional = false
|
||||
python-versions = ">=2.7"
|
||||
version = "0.3"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Low-level, pure Python DBus protocol wrapper."
|
||||
marker = "sys_platform == \"linux\""
|
||||
name = "jeepney"
|
||||
optional = false
|
||||
python-versions = ">=3.5"
|
||||
version = "0.4.1"
|
||||
|
||||
[package.extras]
|
||||
dev = ["testpath"]
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Store and access your passwords safely."
|
||||
name = "keyring"
|
||||
optional = false
|
||||
python-versions = ">=3.5"
|
||||
version = "19.2.0"
|
||||
python-versions = ">=3.5.3"
|
||||
version = "1.3.0a2155+gf11fb25"
|
||||
|
||||
[package.dependencies]
|
||||
entrypoints = "*"
|
||||
pywin32-ctypes = "<0.1.0 || >0.1.0,<0.1.1 || >0.1.1"
|
||||
secretstorage = "*"
|
||||
aiohttp = ">=3.6.0,<3.7.0"
|
||||
websockets = ">=6.0,<7.0 || >7.0,<8.0 || >8.0,<8.0.1 || >8.0.1,<9.0"
|
||||
|
||||
[package.extras]
|
||||
docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
|
||||
testing = ["pytest (>=3.5,<3.7.3 || >3.7.3)", "pytest-checkdocs", "pytest-flake8", "pytest-black-multipy"]
|
||||
docs = ["sphinx (1.8.5)", "sphinxcontrib_trio (1.1.0)", "sphinxcontrib-websupport"]
|
||||
voice = ["PyNaCl (1.3.0)"]
|
||||
|
||||
[package.source]
|
||||
reference = "f11fb254f6a37c635e9056cb895de7904774ac22"
|
||||
type = "git"
|
||||
url = "https://github.com/Steffo99/discord.py"
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Python bindings for FFmpeg - with complex filtering support"
|
||||
name = "ffmpeg-python"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
version = "0.2.0"
|
||||
|
||||
[package.dependencies]
|
||||
future = "*"
|
||||
|
||||
[package.extras]
|
||||
dev = ["future (0.17.1)", "numpy (1.16.4)", "pytest-mock (1.10.4)", "pytest (4.6.1)", "Sphinx (2.1.0)", "tox (3.12.1)"]
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Clean single-source support for Python 3 and 2"
|
||||
name = "future"
|
||||
optional = false
|
||||
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
|
||||
version = "0.18.2"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1"
|
||||
name = "h11"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
version = "0.8.1"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "A collection of framework independent HTTP protocol utils."
|
||||
marker = "sys_platform != \"win32\" and sys_platform != \"cygwin\" and platform_python_implementation != \"pypy\""
|
||||
name = "httptools"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
version = "0.0.13"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Human friendly output for text interfaces using Python"
|
||||
name = "humanfriendly"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
version = "4.18"
|
||||
|
||||
[package.dependencies]
|
||||
pyreadline = "*"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Internationalized Domain Names in Applications (IDNA)"
|
||||
name = "idna"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
version = "2.8"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "multidict implementation"
|
||||
name = "multidict"
|
||||
optional = false
|
||||
python-versions = ">=3.5"
|
||||
version = "4.6.1"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "psycopg2 - Python-PostgreSQL Database Adapter"
|
||||
name = "psycopg2-binary"
|
||||
optional = false
|
||||
python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
|
||||
version = "2.8.4"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "C parser in Python"
|
||||
marker = "sys_platform == \"linux\""
|
||||
name = "pycparser"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
version = "2.19"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Python binding to the Networking and Cryptography (NaCl) library"
|
||||
name = "pynacl"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
version = "1.3.0"
|
||||
|
||||
[package.dependencies]
|
||||
cffi = ">=1.4.1"
|
||||
six = "*"
|
||||
|
||||
[package.extras]
|
||||
docs = ["sphinx (>=1.6.5)", "sphinx-rtd-theme"]
|
||||
tests = ["pytest (>=3.2.1,<3.3.0 || >3.3.0)", "hypothesis (>=3.27.0)"]
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "A python implmementation of GNU readline."
|
||||
marker = "sys_platform == \"win32\""
|
||||
name = "pyreadline"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
version = "2.1"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Extensions to the standard Python datetime module"
|
||||
|
@ -101,6 +268,24 @@ version = "2.8.1"
|
|||
[package.dependencies]
|
||||
six = ">=1.5"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "We have made you a wrapper you can't refuse"
|
||||
name = "python-telegram-bot"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
version = "12.2.0"
|
||||
|
||||
[package.dependencies]
|
||||
certifi = "*"
|
||||
cryptography = "*"
|
||||
future = ">=0.16.0"
|
||||
tornado = ">=5.1"
|
||||
|
||||
[package.extras]
|
||||
json = ["ujson"]
|
||||
socks = ["pysocks"]
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "World timezone definitions, modern and historical"
|
||||
|
@ -109,15 +294,6 @@ optional = false
|
|||
python-versions = "*"
|
||||
version = "2019.3"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = ""
|
||||
marker = "sys_platform == \"win32\""
|
||||
name = "pywin32-ctypes"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
version = "0.2.0"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Alternative regular expression module, to replace re."
|
||||
|
@ -128,43 +304,105 @@ version = "2019.11.1"
|
|||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "A multipurpose bot and web framework"
|
||||
description = ""
|
||||
name = "royalnet"
|
||||
optional = false
|
||||
python-versions = ">=3.8,<4.0"
|
||||
python-versions = "^3.8"
|
||||
version = "5.1a1"
|
||||
|
||||
[package.dependencies]
|
||||
dateparser = ">=0.7.2,<0.8.0"
|
||||
keyring = ">=19.2.0,<20.0.0"
|
||||
dateparser = "^0.7.2"
|
||||
toml = "^0.10.0"
|
||||
|
||||
[package.dependencies.coloredlogs]
|
||||
optional = true
|
||||
version = "^10.0"
|
||||
|
||||
[package.dependencies."discord.py"]
|
||||
optional = true
|
||||
version = "branch master"
|
||||
|
||||
[package.dependencies.ffmpeg_python]
|
||||
optional = true
|
||||
version = "~0.2.0"
|
||||
|
||||
[package.dependencies.psycopg2_binary]
|
||||
optional = true
|
||||
version = "^2.8.4"
|
||||
|
||||
[package.dependencies.pynacl]
|
||||
optional = true
|
||||
version = "^1.3.0"
|
||||
|
||||
[package.dependencies.python_telegram_bot]
|
||||
optional = true
|
||||
version = "^12.2.0"
|
||||
|
||||
[package.dependencies.sentry_sdk]
|
||||
optional = true
|
||||
version = "~0.13.2"
|
||||
|
||||
[package.dependencies.sqlalchemy]
|
||||
optional = true
|
||||
version = "^1.3.10"
|
||||
|
||||
[package.dependencies.starlette]
|
||||
optional = true
|
||||
version = "^0.12.13"
|
||||
|
||||
[package.dependencies.uvicorn]
|
||||
optional = true
|
||||
version = "^0.10.7"
|
||||
|
||||
[package.dependencies.websockets]
|
||||
optional = true
|
||||
version = "^8.1"
|
||||
|
||||
[package.dependencies.youtube_dl]
|
||||
optional = true
|
||||
version = "*"
|
||||
|
||||
[package.extras]
|
||||
alchemy_easy = ["psycopg2_binary (>=2.8.4,<3.0.0)", "sqlalchemy (>=1.3.10,<2.0.0)"]
|
||||
alchemy_hard = ["psycopg2 (>=2.8.4,<3.0.0)", "sqlalchemy (>=1.3.10,<2.0.0)"]
|
||||
bard = ["ffmpeg_python (>=0.2.0,<0.3.0)", "youtube-dl"]
|
||||
constellation = ["starlette (>=0.12.13,<0.13.0)", "uvicorn (>=0.10.7,<0.11.0)"]
|
||||
discord = ["discord.py", "pynacl (>=1.3.0,<2.0.0)"]
|
||||
herald = ["websockets (>=8.1,<9.0)"]
|
||||
sentry = ["sentry_sdk (>=0.13.2,<0.14.0)"]
|
||||
telegram = ["python_telegram_bot (>=12.2.0,<13.0.0)"]
|
||||
alchemy_easy = ["sqlalchemy (^1.3.10)", "psycopg2_binary (^2.8.4)"]
|
||||
alchemy_hard = ["sqlalchemy (^1.3.10)", "psycopg2 (^2.8.4)"]
|
||||
bard = ["ffmpeg_python (~0.2.0)", "youtube-dl"]
|
||||
coloredlogs = ["coloredlogs (^10.0)"]
|
||||
constellation = ["starlette (^0.12.13)", "uvicorn (^0.10.7)"]
|
||||
discord = ["discord.py", "pynacl (^1.3.0)"]
|
||||
herald = ["websockets (^8.1)"]
|
||||
sentry = ["sentry_sdk (~0.13.2)"]
|
||||
telegram = ["python_telegram_bot (^12.2.0)"]
|
||||
|
||||
[package.source]
|
||||
reference = ""
|
||||
type = "file"
|
||||
url = "../royalnet/dist/royalnet-5.1a1.tar.gz"
|
||||
reference = "c4bc1811825d7b2609f587a4890ddb5b8a618cf6"
|
||||
type = "git"
|
||||
url = "https://github.com/Steffo99/royalnet/"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Python bindings to FreeDesktop.org Secret Service API"
|
||||
marker = "sys_platform == \"linux\""
|
||||
name = "secretstorage"
|
||||
description = "Python client for Sentry (https://getsentry.com)"
|
||||
name = "sentry-sdk"
|
||||
optional = false
|
||||
python-versions = ">=3.5"
|
||||
version = "3.1.1"
|
||||
python-versions = "*"
|
||||
version = "0.13.4"
|
||||
|
||||
[package.dependencies]
|
||||
cryptography = "*"
|
||||
jeepney = "*"
|
||||
certifi = "*"
|
||||
urllib3 = ">=1.10.0"
|
||||
|
||||
[package.extras]
|
||||
aiohttp = ["aiohttp (>=3.5)"]
|
||||
beam = ["beam (>=2.12)"]
|
||||
bottle = ["bottle (>=0.12.13)"]
|
||||
celery = ["celery (>=3)"]
|
||||
django = ["django (>=1.8)"]
|
||||
falcon = ["falcon (>=1.4)"]
|
||||
flask = ["flask (>=0.11)", "blinker (>=1.1)"]
|
||||
pyspark = ["pyspark (>=2.4.4)"]
|
||||
rq = ["0.6"]
|
||||
sanic = ["sanic (>=0.8)"]
|
||||
sqlalchemy = ["sqlalchemy (>=1.2)"]
|
||||
tornado = ["tornado (>=5)"]
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
|
@ -174,6 +412,53 @@ optional = false
|
|||
python-versions = ">=2.6, !=3.0.*, !=3.1.*"
|
||||
version = "1.13.0"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Database Abstraction Library"
|
||||
name = "sqlalchemy"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||
version = "1.3.11"
|
||||
|
||||
[package.extras]
|
||||
mssql = ["pyodbc"]
|
||||
mssql_pymssql = ["pymssql"]
|
||||
mssql_pyodbc = ["pyodbc"]
|
||||
mysql = ["mysqlclient"]
|
||||
oracle = ["cx-oracle"]
|
||||
postgresql = ["psycopg2"]
|
||||
postgresql_pg8000 = ["pg8000"]
|
||||
postgresql_psycopg2binary = ["psycopg2-binary"]
|
||||
postgresql_psycopg2cffi = ["psycopg2cffi"]
|
||||
pymysql = ["pymysql"]
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "The little ASGI library that shines."
|
||||
name = "starlette"
|
||||
optional = false
|
||||
python-versions = ">=3.6"
|
||||
version = "0.12.13"
|
||||
|
||||
[package.extras]
|
||||
full = ["aiofiles", "graphene", "itsdangerous", "jinja2", "python-multipart", "pyyaml", "requests", "ujson"]
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Python Library for Tom's Obvious, Minimal Language"
|
||||
name = "toml"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
version = "0.10.0"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed."
|
||||
name = "tornado"
|
||||
optional = false
|
||||
python-versions = ">= 3.5"
|
||||
version = "6.0.3"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "tzinfo object for the local timezone"
|
||||
|
@ -185,11 +470,102 @@ version = "2.0.0"
|
|||
[package.dependencies]
|
||||
pytz = "*"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "HTTP library with thread-safe connection pooling, file post, and more."
|
||||
name = "urllib3"
|
||||
optional = false
|
||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, <4"
|
||||
version = "1.25.7"
|
||||
|
||||
[package.extras]
|
||||
brotli = ["brotlipy (>=0.6.0)"]
|
||||
secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
|
||||
socks = ["PySocks (>=1.5.6,<1.5.7 || >1.5.7,<2.0)"]
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "The lightning-fast ASGI server."
|
||||
name = "uvicorn"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
version = "0.10.8"
|
||||
|
||||
[package.dependencies]
|
||||
click = ">=7.0.0,<8.0.0"
|
||||
h11 = ">=0.8.0,<0.9.0"
|
||||
httptools = "0.0.13"
|
||||
uvloop = ">=0.14.0"
|
||||
websockets = ">=8.0.0,<9.0.0"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Fast implementation of asyncio event loop on top of libuv"
|
||||
marker = "sys_platform != \"win32\" and sys_platform != \"cygwin\" and platform_python_implementation != \"pypy\""
|
||||
name = "uvloop"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
version = "0.14.0"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "An implementation of the WebSocket Protocol (RFC 6455 & 7692)"
|
||||
name = "websockets"
|
||||
optional = false
|
||||
python-versions = ">=3.6.1"
|
||||
version = "8.1"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "Yet another URL library"
|
||||
name = "yarl"
|
||||
optional = false
|
||||
python-versions = ">=3.5.3"
|
||||
version = "1.3.0"
|
||||
|
||||
[package.dependencies]
|
||||
idna = ">=2.0"
|
||||
multidict = ">=4.0"
|
||||
|
||||
[[package]]
|
||||
category = "main"
|
||||
description = "YouTube video downloader"
|
||||
name = "youtube-dl"
|
||||
optional = false
|
||||
python-versions = "*"
|
||||
version = "2019.11.22"
|
||||
|
||||
[metadata]
|
||||
content-hash = "817fb50e91869e1dcee16160a92126fd5e4af4186990bf8fecf2523a9109f5fa"
|
||||
content-hash = "e358039cf58db05d50f73138e8b431bcbe8476bc60181233645f2064ee496023"
|
||||
python-versions = "^3.8"
|
||||
|
||||
[metadata.files]
|
||||
aiohttp = [
|
||||
{file = "aiohttp-3.6.2-cp35-cp35m-macosx_10_13_x86_64.whl", hash = "sha256:1e984191d1ec186881ffaed4581092ba04f7c61582a177b187d3a2f07ed9719e"},
|
||||
{file = "aiohttp-3.6.2-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:50aaad128e6ac62e7bf7bd1f0c0a24bc968a0c0590a726d5a955af193544bcec"},
|
||||
{file = "aiohttp-3.6.2-cp36-cp36m-macosx_10_13_x86_64.whl", hash = "sha256:65f31b622af739a802ca6fd1a3076fd0ae523f8485c52924a89561ba10c49b48"},
|
||||
{file = "aiohttp-3.6.2-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:ae55bac364c405caa23a4f2d6cfecc6a0daada500274ffca4a9230e7129eac59"},
|
||||
{file = "aiohttp-3.6.2-cp36-cp36m-win32.whl", hash = "sha256:344c780466b73095a72c616fac5ea9c4665add7fc129f285fbdbca3cccf4612a"},
|
||||
{file = "aiohttp-3.6.2-cp36-cp36m-win_amd64.whl", hash = "sha256:4c6efd824d44ae697814a2a85604d8e992b875462c6655da161ff18fd4f29f17"},
|
||||
{file = "aiohttp-3.6.2-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:2f4d1a4fdce595c947162333353d4a44952a724fba9ca3205a3df99a33d1307a"},
|
||||
{file = "aiohttp-3.6.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:6206a135d072f88da3e71cc501c59d5abffa9d0bb43269a6dcd28d66bfafdbdd"},
|
||||
{file = "aiohttp-3.6.2-cp37-cp37m-win32.whl", hash = "sha256:b778ce0c909a2653741cb4b1ac7015b5c130ab9c897611df43ae6a58523cb965"},
|
||||
{file = "aiohttp-3.6.2-cp37-cp37m-win_amd64.whl", hash = "sha256:32e5f3b7e511aa850829fbe5aa32eb455e5534eaa4b1ce93231d00e2f76e5654"},
|
||||
{file = "aiohttp-3.6.2-py3-none-any.whl", hash = "sha256:460bd4237d2dbecc3b5ed57e122992f60188afe46e7319116da5eb8a9dfedba4"},
|
||||
{file = "aiohttp-3.6.2.tar.gz", hash = "sha256:259ab809ff0727d0e834ac5e8a283dc5e3e0ecc30c4d80b3cd17a4139ce1f326"},
|
||||
]
|
||||
async-timeout = [
|
||||
{file = "async-timeout-3.0.1.tar.gz", hash = "sha256:0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f"},
|
||||
{file = "async_timeout-3.0.1-py3-none-any.whl", hash = "sha256:4291ca197d287d274d0b6cb5d6f8f8f82d434ed288f962539ff18cc9012f9ea3"},
|
||||
]
|
||||
attrs = [
|
||||
{file = "attrs-19.3.0-py2.py3-none-any.whl", hash = "sha256:08a96c641c3a74e44eb59afb61a24f2cb9f4d7188748e76ba4bb5edfa3cb7d1c"},
|
||||
{file = "attrs-19.3.0.tar.gz", hash = "sha256:f7b7ce16570fe9965acd6d30101a28f62fb4a7f9e926b3bbc9b61f8b04247e72"},
|
||||
]
|
||||
certifi = [
|
||||
{file = "certifi-2019.9.11-py2.py3-none-any.whl", hash = "sha256:fd7c7c74727ddcf00e9acd26bba8da604ffec95bf1c2144e67aff7a8b50e6cef"},
|
||||
{file = "certifi-2019.9.11.tar.gz", hash = "sha256:e4f3620cfea4f83eedc95b24abd9cd56f3c4b146dd0177e83a21b4eb49e21e50"},
|
||||
]
|
||||
cffi = [
|
||||
{file = "cffi-1.13.2-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:3c9fff570f13480b201e9ab69453108f6d98244a7f495e91b6c654a47486ba43"},
|
||||
{file = "cffi-1.13.2-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:2c5e309ec482556397cb21ede0350c5e82f0eb2621de04b2633588d118da4396"},
|
||||
|
@ -225,6 +601,22 @@ cffi = [
|
|||
{file = "cffi-1.13.2-cp38-cp38-win_amd64.whl", hash = "sha256:2781e9ad0e9d47173c0093321bb5435a9dfae0ed6a762aabafa13108f5f7b2ba"},
|
||||
{file = "cffi-1.13.2.tar.gz", hash = "sha256:599a1e8ff057ac530c9ad1778293c665cb81a791421f46922d80a86473c13346"},
|
||||
]
|
||||
chardet = [
|
||||
{file = "chardet-3.0.4-py2.py3-none-any.whl", hash = "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"},
|
||||
{file = "chardet-3.0.4.tar.gz", hash = "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"},
|
||||
]
|
||||
click = [
|
||||
{file = "Click-7.0-py2.py3-none-any.whl", hash = "sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13"},
|
||||
{file = "Click-7.0.tar.gz", hash = "sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"},
|
||||
]
|
||||
colorama = [
|
||||
{file = "colorama-0.4.1-py2.py3-none-any.whl", hash = "sha256:f8ac84de7840f5b9c4e3347b3c1eaa50f7e49c2b07596221daec5edaabbd7c48"},
|
||||
{file = "colorama-0.4.1.tar.gz", hash = "sha256:05eed71e2e327246ad6b38c540c4a3117230b19679b875190486ddd2d721422d"},
|
||||
]
|
||||
coloredlogs = [
|
||||
{file = "coloredlogs-10.0-py2.py3-none-any.whl", hash = "sha256:34fad2e342d5a559c31b6c889e8d14f97cb62c47d9a2ae7b5ed14ea10a79eff8"},
|
||||
{file = "coloredlogs-10.0.tar.gz", hash = "sha256:b869a2dda3fa88154b9dd850e27828d8755bfab5a838a1c97fbc850c6e377c36"},
|
||||
]
|
||||
cryptography = [
|
||||
{file = "cryptography-2.8-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:fb81c17e0ebe3358486cd8cc3ad78adbae58af12fc2bf2bc0bb84e8090fa5ce8"},
|
||||
{file = "cryptography-2.8-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:44ff04138935882fef7c686878e1c8fd80a723161ad6a98da31e14b7553170c2"},
|
||||
|
@ -252,33 +644,125 @@ dateparser = [
|
|||
{file = "dateparser-0.7.2-py2.py3-none-any.whl", hash = "sha256:983d84b5e3861cb0aa240cad07f12899bb10b62328aae188b9007e04ce37d665"},
|
||||
{file = "dateparser-0.7.2.tar.gz", hash = "sha256:e1eac8ef28de69a554d5fcdb60b172d526d61924b1a40afbbb08df459a36006b"},
|
||||
]
|
||||
entrypoints = [
|
||||
{file = "entrypoints-0.3-py2.py3-none-any.whl", hash = "sha256:589f874b313739ad35be6e0cd7efde2a4e9b6fea91edcc34e58ecbb8dbe56d19"},
|
||||
{file = "entrypoints-0.3.tar.gz", hash = "sha256:c70dd71abe5a8c85e55e12c19bd91ccfeec11a6e99044204511f9ed547d48451"},
|
||||
"discord.py" = []
|
||||
ffmpeg-python = [
|
||||
{file = "ffmpeg-python-0.2.0.tar.gz", hash = "sha256:65225db34627c578ef0e11c8b1eb528bb35e024752f6f10b78c011f6f64c4127"},
|
||||
{file = "ffmpeg_python-0.2.0-py3-none-any.whl", hash = "sha256:ac441a0404e053f8b6a1113a77c0f452f1cfc62f6344a769475ffdc0f56c23c5"},
|
||||
]
|
||||
jeepney = [
|
||||
{file = "jeepney-0.4.1-py3-none-any.whl", hash = "sha256:f6a3f93464a0cf052f4e87da3c8b3ed1e27696758fb9739c63d3a74d9a1b6774"},
|
||||
{file = "jeepney-0.4.1.tar.gz", hash = "sha256:13806f91a96e9b2623fd2a81b950d763ee471454aafd9eb6d75dbe7afce428fb"},
|
||||
future = [
|
||||
{file = "future-0.18.2.tar.gz", hash = "sha256:b1bead90b70cf6ec3f0710ae53a525360fa360d306a86583adc6bf83a4db537d"},
|
||||
]
|
||||
keyring = [
|
||||
{file = "keyring-19.2.0-py2.py3-none-any.whl", hash = "sha256:f5bb20ea6c57c2360daf0c591931c9ea0d7660a8d9e32ca84d63273f131ea605"},
|
||||
{file = "keyring-19.2.0.tar.gz", hash = "sha256:91037ccaf0c9a112a76f7740e4a416b9457a69b66c2799421581bee710a974b3"},
|
||||
h11 = [
|
||||
{file = "h11-0.8.1-py2.py3-none-any.whl", hash = "sha256:f2b1ca39bfed357d1f19ac732913d5f9faa54a5062eca7d2ec3a916cfb7ae4c7"},
|
||||
{file = "h11-0.8.1.tar.gz", hash = "sha256:acca6a44cb52a32ab442b1779adf0875c443c689e9e028f8d831a3769f9c5208"},
|
||||
]
|
||||
httptools = [
|
||||
{file = "httptools-0.0.13.tar.gz", hash = "sha256:e00cbd7ba01ff748e494248183abc6e153f49181169d8a3d41bb49132ca01dfc"},
|
||||
]
|
||||
humanfriendly = [
|
||||
{file = "humanfriendly-4.18-py2.py3-none-any.whl", hash = "sha256:23057b10ad6f782e7bc3a20e3cb6768ab919f619bbdc0dd75691121bbde5591d"},
|
||||
{file = "humanfriendly-4.18.tar.gz", hash = "sha256:33ee8ceb63f1db61cce8b5c800c531e1a61023ac5488ccde2ba574a85be00a85"},
|
||||
]
|
||||
idna = [
|
||||
{file = "idna-2.8-py2.py3-none-any.whl", hash = "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c"},
|
||||
{file = "idna-2.8.tar.gz", hash = "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407"},
|
||||
]
|
||||
multidict = [
|
||||
{file = "multidict-4.6.1-cp35-cp35m-macosx_10_13_x86_64.whl", hash = "sha256:318aadf1cfb6741c555c7dd83d94f746dc95989f4f106b25b8a83dfb547f2756"},
|
||||
{file = "multidict-4.6.1-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9c890978e2b37dd0dc1bd952da9a5d9f245d4807bee33e3517e4119c48d66f8c"},
|
||||
{file = "multidict-4.6.1-cp35-cp35m-win32.whl", hash = "sha256:efaf1b18ea6c1f577b1371c0159edbe4749558bfe983e13aa24d0a0c01e1ad7b"},
|
||||
{file = "multidict-4.6.1-cp35-cp35m-win_amd64.whl", hash = "sha256:07f9a6bf75ad675d53956b2c6a2d4ef2fa63132f33ecc99e9c24cf93beb0d10b"},
|
||||
{file = "multidict-4.6.1-cp36-cp36m-macosx_10_13_x86_64.whl", hash = "sha256:42cdd649741a14b0602bf15985cad0dd4696a380081a3319cd1ead46fd0f0fab"},
|
||||
{file = "multidict-4.6.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:205a011e636d885af6dd0029e41e3514a46e05bb2a43251a619a6e8348b96fc0"},
|
||||
{file = "multidict-4.6.1-cp36-cp36m-win32.whl", hash = "sha256:cfec9d001a83dc73580143f3c77e898cf7ad78b27bb5e64dbe9652668fcafec7"},
|
||||
{file = "multidict-4.6.1-cp36-cp36m-win_amd64.whl", hash = "sha256:8d919034420378132d074bf89df148d0193e9780c9fe7c0e495e895b8af4d8a2"},
|
||||
{file = "multidict-4.6.1-cp37-cp37m-macosx_10_13_x86_64.whl", hash = "sha256:a37433ce8cdb35fc9e6e47e1606fa1bfd6d70440879038dca7d8dd023197eaa9"},
|
||||
{file = "multidict-4.6.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:1b605272c558e4c659dbaf0fb32a53bfede44121bcf77b356e6e906867b958b7"},
|
||||
{file = "multidict-4.6.1-cp37-cp37m-win32.whl", hash = "sha256:891b7e142885e17a894d9d22b0349b92bb2da4769b4e675665d0331c08719be5"},
|
||||
{file = "multidict-4.6.1-cp37-cp37m-win_amd64.whl", hash = "sha256:250632316295f2311e1ed43e6b26a63b0216b866b45c11441886ac1543ca96e1"},
|
||||
{file = "multidict-4.6.1-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:2bc9c2579312c68a3552ee816311c8da76412e6f6a9cf33b15152e385a572d2a"},
|
||||
{file = "multidict-4.6.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:0ffe4d4d28cbe9801952bfb52a8095dd9ffecebd93f84bdf973c76300de783c5"},
|
||||
{file = "multidict-4.6.1-cp38-cp38-win32.whl", hash = "sha256:87e26d8b89127c25659e962c61a4c655ec7445d19150daea0759516884ecb8b4"},
|
||||
{file = "multidict-4.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:c626029841ada34c030b94a00c573a0c7575fe66489cde148785b6535397d675"},
|
||||
{file = "multidict-4.6.1.tar.gz", hash = "sha256:5159c4975931a1a78bf6602bbebaa366747fce0a56cb2111f44789d2c45e379f"},
|
||||
]
|
||||
psycopg2-binary = [
|
||||
{file = "psycopg2-binary-2.8.4.tar.gz", hash = "sha256:3a2522b1d9178575acee4adf8fd9f979f9c0449b00b4164bb63c3475ea6528ed"},
|
||||
{file = "psycopg2_binary-2.8.4-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:890167d5091279a27e2505ff0e1fb273f8c48c41d35c5b92adbf4af80e6b2ed6"},
|
||||
{file = "psycopg2_binary-2.8.4-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:dbc5cd56fff1a6152ca59445178652756f4e509f672e49ccdf3d79c1043113a4"},
|
||||
{file = "psycopg2_binary-2.8.4-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:7f42a8490c4fe854325504ce7a6e4796b207960dabb2cbafe3c3959cb00d1d7e"},
|
||||
{file = "psycopg2_binary-2.8.4-cp27-cp27m-win32.whl", hash = "sha256:8578d6b8192e4c805e85f187bc530d0f52ba86c39172e61cd51f68fddd648103"},
|
||||
{file = "psycopg2_binary-2.8.4-cp27-cp27m-win_amd64.whl", hash = "sha256:5dd90c5438b4f935c9d01fcbad3620253da89d19c1f5fca9158646407ed7df35"},
|
||||
{file = "psycopg2_binary-2.8.4-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:9aadff9032e967865f9778485571e93908d27dab21d0fdfdec0ca779bb6f8ad9"},
|
||||
{file = "psycopg2_binary-2.8.4-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:659c815b5b8e2a55193ede2795c1e2349b8011497310bb936da7d4745652823b"},
|
||||
{file = "psycopg2_binary-2.8.4-cp34-cp34m-manylinux1_i686.whl", hash = "sha256:2166e770cb98f02ed5ee2b0b569d40db26788e0bf2ec3ae1a0d864ea6f1d8309"},
|
||||
{file = "psycopg2_binary-2.8.4-cp34-cp34m-manylinux1_x86_64.whl", hash = "sha256:7e6e3c52e6732c219c07bd97fff6c088f8df4dae3b79752ee3a817e6f32e177e"},
|
||||
{file = "psycopg2_binary-2.8.4-cp34-cp34m-win32.whl", hash = "sha256:040234f8a4a8dfd692662a8308d78f63f31a97e1c42d2480e5e6810c48966a29"},
|
||||
{file = "psycopg2_binary-2.8.4-cp34-cp34m-win_amd64.whl", hash = "sha256:69b13fdf12878b10dc6003acc8d0abf3ad93e79813fd5f3812497c1c9fb9be49"},
|
||||
{file = "psycopg2_binary-2.8.4-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:19dc39616850342a2a6db70559af55b22955f86667b5f652f40c0e99253d9881"},
|
||||
{file = "psycopg2_binary-2.8.4-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:9f24f383a298a0c0f9b3113b982e21751a8ecde6615494a3f1470eb4a9d70e9e"},
|
||||
{file = "psycopg2_binary-2.8.4-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:eaed1c65f461a959284649e37b5051224f4db6ebdc84e40b5e65f2986f101a08"},
|
||||
{file = "psycopg2_binary-2.8.4-cp35-cp35m-win32.whl", hash = "sha256:4c6717962247445b4f9e21c962ea61d2e884fc17df5ddf5e35863b016f8a1f03"},
|
||||
{file = "psycopg2_binary-2.8.4-cp35-cp35m-win_amd64.whl", hash = "sha256:84156313f258eafff716b2961644a4483a9be44a5d43551d554844d15d4d224e"},
|
||||
{file = "psycopg2_binary-2.8.4-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:3b5deaa3ee7180585a296af33e14c9b18c218d148e735c7accf78130765a47e3"},
|
||||
{file = "psycopg2_binary-2.8.4-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:5057669b6a66aa9ca118a2a860159f0ee3acf837eda937bdd2a64f3431361a2d"},
|
||||
{file = "psycopg2_binary-2.8.4-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:afd96845e12638d2c44d213d4810a08f4dc4a563f9a98204b7428e567014b1cd"},
|
||||
{file = "psycopg2_binary-2.8.4-cp36-cp36m-win32.whl", hash = "sha256:a73021b44813b5c84eda4a3af5826dd72356a900bac9bd9dd1f0f81ee1c22c2f"},
|
||||
{file = "psycopg2_binary-2.8.4-cp36-cp36m-win_amd64.whl", hash = "sha256:407af6d7e46593415f216c7f56ba087a9a42bd6dc2ecb86028760aa45b802bd7"},
|
||||
{file = "psycopg2_binary-2.8.4-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:3aa773580f85a28ffdf6f862e59cb5a3cc7ef6885121f2de3fca8d6ada4dbf3b"},
|
||||
{file = "psycopg2_binary-2.8.4-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:eac8a3499754790187bb00574ab980df13e754777d346f85e0ff6df929bcd964"},
|
||||
{file = "psycopg2_binary-2.8.4-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:7a1cb80e35e1ccea3e11a48afe65d38744a0e0bde88795cc56a4d05b6e4f9d70"},
|
||||
{file = "psycopg2_binary-2.8.4-cp37-cp37m-win32.whl", hash = "sha256:086f7e89ec85a6704db51f68f0dcae432eff9300809723a6e8782c41c2f48e03"},
|
||||
{file = "psycopg2_binary-2.8.4-cp37-cp37m-win_amd64.whl", hash = "sha256:b73ddf033d8cd4cc9dfed6324b1ad2a89ba52c410ef6877998422fcb9c23e3a8"},
|
||||
{file = "psycopg2_binary-2.8.4-cp38-cp38-macosx_10_9_x86_64.macosx_10_9_intel.macosx_10_10_intel.macosx_10_10_x86_64.whl", hash = "sha256:4c3c09fb674401f630626310bcaf6cd6285daf0d5e4c26d6e55ca26a2734e39b"},
|
||||
{file = "psycopg2_binary-2.8.4-cp38-cp38-manylinux1_i686.whl", hash = "sha256:18ca813fdb17bc1db73fe61b196b05dd1ca2165b884dd5ec5568877cabf9b039"},
|
||||
{file = "psycopg2_binary-2.8.4-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:50446fae5681fc99f87e505d4e77c9407e683ab60c555ec302f9ac9bffa61103"},
|
||||
{file = "psycopg2_binary-2.8.4-cp38-cp38-win32.whl", hash = "sha256:98e10634792ac0e9e7a92a76b4991b44c2325d3e7798270a808407355e7bb0a1"},
|
||||
{file = "psycopg2_binary-2.8.4-cp38-cp38-win_amd64.whl", hash = "sha256:b8f490f5fad1767a1331df1259763b3bad7d7af12a75b950c2843ba319b2415f"},
|
||||
]
|
||||
pycparser = [
|
||||
{file = "pycparser-2.19.tar.gz", hash = "sha256:a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3"},
|
||||
]
|
||||
pynacl = [
|
||||
{file = "PyNaCl-1.3.0-cp27-cp27m-macosx_10_6_intel.whl", hash = "sha256:2424c8b9f41aa65bbdbd7a64e73a7450ebb4aa9ddedc6a081e7afcc4c97f7621"},
|
||||
{file = "PyNaCl-1.3.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:30f36a9c70450c7878053fa1344aca0145fd47d845270b43a7ee9192a051bf39"},
|
||||
{file = "PyNaCl-1.3.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:05c26f93964373fc0abe332676cb6735f0ecad27711035b9472751faa8521255"},
|
||||
{file = "PyNaCl-1.3.0-cp27-cp27m-win32.whl", hash = "sha256:a14e499c0f5955dcc3991f785f3f8e2130ed504fa3a7f44009ff458ad6bdd17f"},
|
||||
{file = "PyNaCl-1.3.0-cp27-cp27m-win_amd64.whl", hash = "sha256:f67814c38162f4deb31f68d590771a29d5ae3b1bd64b75cf232308e5c74777e0"},
|
||||
{file = "PyNaCl-1.3.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:e2da3c13307eac601f3de04887624939aca8ee3c9488a0bb0eca4fb9401fc6b1"},
|
||||
{file = "PyNaCl-1.3.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:0d0a8171a68edf51add1e73d2159c4bc19fc0718e79dec51166e940856c2f28e"},
|
||||
{file = "PyNaCl-1.3.0-cp34-abi3-macosx_10_6_intel.whl", hash = "sha256:4943decfc5b905748f0756fdd99d4f9498d7064815c4cf3643820c9028b711d1"},
|
||||
{file = "PyNaCl-1.3.0-cp34-abi3-manylinux1_i686.whl", hash = "sha256:5bd61e9b44c543016ce1f6aef48606280e45f892a928ca7068fba30021e9b786"},
|
||||
{file = "PyNaCl-1.3.0-cp34-abi3-manylinux1_x86_64.whl", hash = "sha256:aabb0c5232910a20eec8563503c153a8e78bbf5459490c49ab31f6adf3f3a415"},
|
||||
{file = "PyNaCl-1.3.0-cp34-cp34m-win32.whl", hash = "sha256:7d3ce02c0784b7cbcc771a2da6ea51f87e8716004512493a2b69016326301c3b"},
|
||||
{file = "PyNaCl-1.3.0-cp34-cp34m-win_amd64.whl", hash = "sha256:1c780712b206317a746ace34c209b8c29dbfd841dfbc02aa27f2084dd3db77ae"},
|
||||
{file = "PyNaCl-1.3.0-cp35-cp35m-win32.whl", hash = "sha256:37aa336a317209f1bb099ad177fef0da45be36a2aa664507c5d72015f956c310"},
|
||||
{file = "PyNaCl-1.3.0-cp35-cp35m-win_amd64.whl", hash = "sha256:57ef38a65056e7800859e5ba9e6091053cd06e1038983016effaffe0efcd594a"},
|
||||
{file = "PyNaCl-1.3.0-cp36-cp36m-win32.whl", hash = "sha256:a39f54ccbcd2757d1d63b0ec00a00980c0b382c62865b61a505163943624ab20"},
|
||||
{file = "PyNaCl-1.3.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6482d3017a0c0327a49dddc8bd1074cc730d45db2ccb09c3bac1f8f32d1eb61b"},
|
||||
{file = "PyNaCl-1.3.0-cp37-cp37m-win32.whl", hash = "sha256:2d23c04e8d709444220557ae48ed01f3f1086439f12dbf11976e849a4926db56"},
|
||||
{file = "PyNaCl-1.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:bd4ecb473a96ad0f90c20acba4f0bf0df91a4e03a1f4dd6a4bdc9ca75aa3a715"},
|
||||
{file = "PyNaCl-1.3.0-cp38-cp38-win32.whl", hash = "sha256:53126cd91356342dcae7e209f840212a58dcf1177ad52c1d938d428eebc9fee5"},
|
||||
{file = "PyNaCl-1.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:bf459128feb543cfca16a95f8da31e2e65e4c5257d2f3dfa8c0c1031139c9c92"},
|
||||
{file = "PyNaCl-1.3.0.tar.gz", hash = "sha256:0c6100edd16fefd1557da078c7a31e7b7d7a52ce39fdca2bec29d4f7b6e7600c"},
|
||||
]
|
||||
pyreadline = [
|
||||
{file = "pyreadline-2.1.win-amd64.exe", hash = "sha256:9ce5fa65b8992dfa373bddc5b6e0864ead8f291c94fbfec05fbd5c836162e67b"},
|
||||
{file = "pyreadline-2.1.win32.exe", hash = "sha256:65540c21bfe14405a3a77e4c085ecfce88724743a4ead47c66b84defcf82c32e"},
|
||||
{file = "pyreadline-2.1.zip", hash = "sha256:4530592fc2e85b25b1a9f79664433da09237c1a270e4d78ea5aa3a2c7229e2d1"},
|
||||
]
|
||||
python-dateutil = [
|
||||
{file = "python-dateutil-2.8.1.tar.gz", hash = "sha256:73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c"},
|
||||
{file = "python_dateutil-2.8.1-py2.py3-none-any.whl", hash = "sha256:75bb3f31ea686f1197762692a9ee6a7550b59fc6ca3a1f4b5d7e32fb98e2da2a"},
|
||||
]
|
||||
python-telegram-bot = [
|
||||
{file = "python-telegram-bot-12.2.0.tar.gz", hash = "sha256:346d42771c2b23384c59f5f41e05bd7e801a0ce118d8dcb95209bb73d5f694c5"},
|
||||
{file = "python_telegram_bot-12.2.0-py2.py3-none-any.whl", hash = "sha256:3beee89cba3bc3217566c96199f04776dd25f541ac8992da27fd247b2d208a14"},
|
||||
]
|
||||
pytz = [
|
||||
{file = "pytz-2019.3-py2.py3-none-any.whl", hash = "sha256:1c557d7d0e871de1f5ccd5833f60fb2550652da6be2693c1e02300743d21500d"},
|
||||
{file = "pytz-2019.3.tar.gz", hash = "sha256:b02c06db6cf09c12dd25137e563b31700d3b80fcc4ad23abb7a315f2789819be"},
|
||||
]
|
||||
pywin32-ctypes = [
|
||||
{file = "pywin32-ctypes-0.2.0.tar.gz", hash = "sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942"},
|
||||
{file = "pywin32_ctypes-0.2.0-py2.py3-none-any.whl", hash = "sha256:9dc2d991b3479cc2df15930958b674a48a227d5361d413827a4cfd0b5876fc98"},
|
||||
]
|
||||
regex = [
|
||||
{file = "regex-2019.11.1-cp27-none-win32.whl", hash = "sha256:604dc563a02a74d70ae1f55208ddc9bfb6d9f470f6d1a5054c4bd5ae58744ab1"},
|
||||
{file = "regex-2019.11.1-cp27-none-win_amd64.whl", hash = "sha256:5e00f65cc507d13ab4dfa92c1232d004fa202c1d43a32a13940ab8a5afe2fb96"},
|
||||
|
@ -294,18 +778,84 @@ regex = [
|
|||
{file = "regex-2019.11.1-cp38-none-win_amd64.whl", hash = "sha256:c7393597191fc2043c744db021643549061e12abe0b3ff5c429d806de7b93b66"},
|
||||
{file = "regex-2019.11.1.tar.gz", hash = "sha256:720e34a539a76a1fedcebe4397290604cc2bdf6f81eca44adb9fb2ea071c0c69"},
|
||||
]
|
||||
royalnet = [
|
||||
{file = "royalnet-5.1a1.tar.gz", hash = "sha256:25664a477ed94abeae919a503e37cdf546dc4ed63e6709d3868aeb87fd7dfe43"},
|
||||
]
|
||||
secretstorage = [
|
||||
{file = "SecretStorage-3.1.1-py3-none-any.whl", hash = "sha256:7a119fb52a88e398dbb22a4b3eb39b779bfbace7e4153b7bc6e5954d86282a8a"},
|
||||
{file = "SecretStorage-3.1.1.tar.gz", hash = "sha256:20c797ae48a4419f66f8d28fc221623f11fc45b6828f96bdb1ad9990acb59f92"},
|
||||
royalnet = []
|
||||
sentry-sdk = [
|
||||
{file = "sentry-sdk-0.13.4.tar.gz", hash = "sha256:bfc486af718c268cf49ff43d6334ed4db7333ace420240b630acdd8f8a3a8f60"},
|
||||
{file = "sentry_sdk-0.13.4-py2.py3-none-any.whl", hash = "sha256:a7c2c8d3f53b6b57454830cd6a4b73d272f1ba91952f59e6545b3cf885f3c22f"},
|
||||
]
|
||||
six = [
|
||||
{file = "six-1.13.0-py2.py3-none-any.whl", hash = "sha256:1f1b7d42e254082a9db6279deae68afb421ceba6158efa6131de7b3003ee93fd"},
|
||||
{file = "six-1.13.0.tar.gz", hash = "sha256:30f610279e8b2578cab6db20741130331735c781b56053c59c4076da27f06b66"},
|
||||
]
|
||||
sqlalchemy = [
|
||||
{file = "SQLAlchemy-1.3.11.tar.gz", hash = "sha256:afa5541e9dea8ad0014251bc9d56171ca3d8b130c9627c6cb3681cff30be3f8a"},
|
||||
]
|
||||
starlette = [
|
||||
{file = "starlette-0.12.13.tar.gz", hash = "sha256:9597bc28e3c4659107c1c4a45ec32dc45e947d78fe56230222be673b2c36454a"},
|
||||
]
|
||||
toml = [
|
||||
{file = "toml-0.10.0-py2.7.egg", hash = "sha256:f1db651f9657708513243e61e6cc67d101a39bad662eaa9b5546f789338e07a3"},
|
||||
{file = "toml-0.10.0-py2.py3-none-any.whl", hash = "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e"},
|
||||
{file = "toml-0.10.0.tar.gz", hash = "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c"},
|
||||
]
|
||||
tornado = [
|
||||
{file = "tornado-6.0.3-cp35-cp35m-win32.whl", hash = "sha256:c9399267c926a4e7c418baa5cbe91c7d1cf362d505a1ef898fde44a07c9dd8a5"},
|
||||
{file = "tornado-6.0.3-cp35-cp35m-win_amd64.whl", hash = "sha256:398e0d35e086ba38a0427c3b37f4337327231942e731edaa6e9fd1865bbd6f60"},
|
||||
{file = "tornado-6.0.3-cp36-cp36m-win32.whl", hash = "sha256:4e73ef678b1a859f0cb29e1d895526a20ea64b5ffd510a2307b5998c7df24281"},
|
||||
{file = "tornado-6.0.3-cp36-cp36m-win_amd64.whl", hash = "sha256:349884248c36801afa19e342a77cc4458caca694b0eda633f5878e458a44cb2c"},
|
||||
{file = "tornado-6.0.3-cp37-cp37m-win32.whl", hash = "sha256:559bce3d31484b665259f50cd94c5c28b961b09315ccd838f284687245f416e5"},
|
||||
{file = "tornado-6.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:abbe53a39734ef4aba061fca54e30c6b4639d3e1f59653f0da37a0003de148c7"},
|
||||
{file = "tornado-6.0.3.tar.gz", hash = "sha256:c845db36ba616912074c5b1ee897f8e0124df269468f25e4fe21fe72f6edd7a9"},
|
||||
]
|
||||
tzlocal = [
|
||||
{file = "tzlocal-2.0.0-py2.py3-none-any.whl", hash = "sha256:11c9f16e0a633b4b60e1eede97d8a46340d042e67b670b290ca526576e039048"},
|
||||
{file = "tzlocal-2.0.0.tar.gz", hash = "sha256:949b9dd5ba4be17190a80c0268167d7e6c92c62b30026cf9764caf3e308e5590"},
|
||||
]
|
||||
urllib3 = [
|
||||
{file = "urllib3-1.25.7-py2.py3-none-any.whl", hash = "sha256:a8a318824cc77d1fd4b2bec2ded92646630d7fe8619497b142c84a9e6f5a7293"},
|
||||
{file = "urllib3-1.25.7.tar.gz", hash = "sha256:f3c5fd51747d450d4dcf6f923c81f78f811aab8205fda64b0aba34a4e48b0745"},
|
||||
]
|
||||
uvicorn = [
|
||||
{file = "uvicorn-0.10.8.tar.gz", hash = "sha256:f4c34642618449f55e2bab8c6b22ff7615b520d2e7e23275be2ca894254327a3"},
|
||||
]
|
||||
uvloop = [
|
||||
{file = "uvloop-0.14.0-cp35-cp35m-macosx_10_11_x86_64.whl", hash = "sha256:08b109f0213af392150e2fe6f81d33261bb5ce968a288eb698aad4f46eb711bd"},
|
||||
{file = "uvloop-0.14.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:4544dcf77d74f3a84f03dd6278174575c44c67d7165d4c42c71db3fdc3860726"},
|
||||
{file = "uvloop-0.14.0-cp36-cp36m-macosx_10_11_x86_64.whl", hash = "sha256:b4f591aa4b3fa7f32fb51e2ee9fea1b495eb75b0b3c8d0ca52514ad675ae63f7"},
|
||||
{file = "uvloop-0.14.0-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:f07909cd9fc08c52d294b1570bba92186181ca01fe3dc9ffba68955273dd7362"},
|
||||
{file = "uvloop-0.14.0-cp37-cp37m-macosx_10_11_x86_64.whl", hash = "sha256:afd5513c0ae414ec71d24f6f123614a80f3d27ca655a4fcf6cabe50994cc1891"},
|
||||
{file = "uvloop-0.14.0-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:e7514d7a48c063226b7d06617cbb12a14278d4323a065a8d46a7962686ce2e95"},
|
||||
{file = "uvloop-0.14.0-cp38-cp38-macosx_10_11_x86_64.whl", hash = "sha256:bcac356d62edd330080aed082e78d4b580ff260a677508718f88016333e2c9c5"},
|
||||
{file = "uvloop-0.14.0-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:4315d2ec3ca393dd5bc0b0089d23101276778c304d42faff5dc4579cb6caef09"},
|
||||
{file = "uvloop-0.14.0.tar.gz", hash = "sha256:123ac9c0c7dd71464f58f1b4ee0bbd81285d96cdda8bc3519281b8973e3a461e"},
|
||||
]
|
||||
websockets = [
|
||||
{file = "websockets-8.1-cp36-cp36m-macosx_10_6_intel.whl", hash = "sha256:3762791ab8b38948f0c4d281c8b2ddfa99b7e510e46bd8dfa942a5fff621068c"},
|
||||
{file = "websockets-8.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:3db87421956f1b0779a7564915875ba774295cc86e81bc671631379371af1170"},
|
||||
{file = "websockets-8.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:4f9f7d28ce1d8f1295717c2c25b732c2bc0645db3215cf757551c392177d7cb8"},
|
||||
{file = "websockets-8.1-cp36-cp36m-win32.whl", hash = "sha256:2db62a9142e88535038a6bcfea70ef9447696ea77891aebb730a333a51ed559a"},
|
||||
{file = "websockets-8.1-cp36-cp36m-win_amd64.whl", hash = "sha256:0e4fb4de42701340bd2353bb2eee45314651caa6ccee80dbd5f5d5978888fed5"},
|
||||
{file = "websockets-8.1-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:9b248ba3dd8a03b1a10b19efe7d4f7fa41d158fdaa95e2cf65af5a7b95a4f989"},
|
||||
{file = "websockets-8.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:ce85b06a10fc65e6143518b96d3dca27b081a740bae261c2fb20375801a9d56d"},
|
||||
{file = "websockets-8.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:965889d9f0e2a75edd81a07592d0ced54daa5b0785f57dc429c378edbcffe779"},
|
||||
{file = "websockets-8.1-cp37-cp37m-win32.whl", hash = "sha256:7ff46d441db78241f4c6c27b3868c9ae71473fe03341340d2dfdbe8d79310acc"},
|
||||
{file = "websockets-8.1-cp37-cp37m-win_amd64.whl", hash = "sha256:20891f0dddade307ffddf593c733a3fdb6b83e6f9eef85908113e628fa5a8308"},
|
||||
{file = "websockets-8.1.tar.gz", hash = "sha256:5c65d2da8c6bce0fca2528f69f44b2f977e06954c8512a952222cea50dad430f"},
|
||||
]
|
||||
yarl = [
|
||||
{file = "yarl-1.3.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:3e2724eb9af5dc41648e5bb304fcf4891adc33258c6e14e2a7414ea32541e320"},
|
||||
{file = "yarl-1.3.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:3890ab952d508523ef4881457c4099056546593fa05e93da84c7250516e632eb"},
|
||||
{file = "yarl-1.3.0-cp35-cp35m-win32.whl", hash = "sha256:7ab825726f2940c16d92aaec7d204cfc34ac26c0040da727cf8ba87255a33829"},
|
||||
{file = "yarl-1.3.0-cp35-cp35m-win_amd64.whl", hash = "sha256:b25de84a8c20540531526dfbb0e2d2b648c13fd5dd126728c496d7c3fea33310"},
|
||||
{file = "yarl-1.3.0-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:2f3010703295fbe1aec51023740871e64bb9664c789cba5a6bdf404e93f7568f"},
|
||||
{file = "yarl-1.3.0-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:5badb97dd0abf26623a9982cd448ff12cb39b8e4c94032ccdedf22ce01a64842"},
|
||||
{file = "yarl-1.3.0-cp36-cp36m-win32.whl", hash = "sha256:c9bb7c249c4432cd47e75af3864bc02d26c9594f49c82e2a28624417f0ae63b8"},
|
||||
{file = "yarl-1.3.0-cp36-cp36m-win_amd64.whl", hash = "sha256:c6e341f5a6562af74ba55205dbd56d248daf1b5748ec48a0200ba227bb9e33f4"},
|
||||
{file = "yarl-1.3.0-cp37-cp37m-win32.whl", hash = "sha256:e060906c0c585565c718d1c3841747b61c5439af2211e185f6739a9412dfbde1"},
|
||||
{file = "yarl-1.3.0-cp37-cp37m-win_amd64.whl", hash = "sha256:73f447d11b530d860ca1e6b582f947688286ad16ca42256413083d13f260b7a0"},
|
||||
{file = "yarl-1.3.0.tar.gz", hash = "sha256:024ecdc12bc02b321bc66b41327f930d1c2c543fa9a561b39861da9388ba7aa9"},
|
||||
]
|
||||
youtube-dl = [
|
||||
{file = "youtube_dl-2019.11.22-py2.py3-none-any.whl", hash = "sha256:bd785113687f201415389156664b9ebd81698fb6eb44c6d9fd35898619e27bf7"},
|
||||
{file = "youtube_dl-2019.11.22.tar.gz", hash = "sha256:0575efd332cb9817f5a1fffd2a1e569e5a7d3642e7c24c7a5c47cbf70f301f25"},
|
||||
]
|
||||
|
|
|
@ -19,7 +19,20 @@
|
|||
# Library dependencies
|
||||
[tool.poetry.dependencies]
|
||||
python = "^3.8"
|
||||
royalnet = {path="../royalnet/dist/royalnet-5.1a1.tar.gz"}
|
||||
|
||||
[tool.poetry.dependencies.royalnet]
|
||||
git = "https://github.com/Steffo99/royalnet/"
|
||||
# Maybe... there is a way to make these selectable?
|
||||
extras = [
|
||||
"telegram",
|
||||
"discord",
|
||||
"alchemy_easy",
|
||||
"bard",
|
||||
"constellation",
|
||||
"sentry",
|
||||
"herald",
|
||||
"coloredlogs"
|
||||
]
|
||||
|
||||
# Development dependencies
|
||||
[tool.poetry.dev-dependencies]
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
royalnet>=5.0a1
|
||||
starlette>=0.12.13
|
||||
aiohttp>=3.6.2
|
||||
sqlalchemy>=1.3.10
|
||||
dateparser>=0.7.2
|
||||
python_telegram_bot>=12.2.0
|
||||
wheel>=0.33.6
|
|
@ -1,17 +1,19 @@
|
|||
# This is a template Pack __init__. You can use this without changing anything in other packages too!
|
||||
|
||||
from . import commands, tables, stars, version
|
||||
from . import commands, tables, stars, events
|
||||
from .commands import available_commands
|
||||
from .tables import available_tables
|
||||
from .stars import available_page_stars, available_exception_stars
|
||||
from .events import available_events
|
||||
|
||||
__all__ = [
|
||||
"commands",
|
||||
"tables",
|
||||
"stars",
|
||||
"version",
|
||||
"events",
|
||||
"available_commands",
|
||||
"available_tables",
|
||||
"available_page_stars",
|
||||
"available_exception_stars",
|
||||
"available_events",
|
||||
]
|
||||
|
|
|
@ -1,56 +1,56 @@
|
|||
# Imports go here!
|
||||
from .ciaoruozi import CiaoruoziCommand
|
||||
from .color import ColorCommand
|
||||
from .cv import CvCommand
|
||||
# from .cv import CvCommand
|
||||
from .diario import DiarioCommand
|
||||
from .rage import RageCommand
|
||||
from .reminder import ReminderCommand
|
||||
from .ship import ShipCommand
|
||||
from .smecds import SmecdsCommand
|
||||
from .videochannel import VideochannelCommand
|
||||
from .trivia import TriviaCommand
|
||||
from .matchmaking import MatchmakingCommand
|
||||
from .pause import PauseCommand
|
||||
from .play import PlayCommand
|
||||
from .playmode import PlaymodeCommand
|
||||
from .queue import QueueCommand
|
||||
from .skip import SkipCommand
|
||||
from .summon import SummonCommand
|
||||
from .youtube import YoutubeCommand
|
||||
from .soundcloud import SoundcloudCommand
|
||||
from .zawarudo import ZawarudoCommand
|
||||
# from .rage import RageCommand
|
||||
# from .reminder import ReminderCommand
|
||||
# from .ship import ShipCommand
|
||||
# from .smecds import SmecdsCommand
|
||||
# from .videochannel import VideochannelCommand
|
||||
# from .trivia import TriviaCommand
|
||||
# from .matchmaking import MatchmakingCommand
|
||||
# from .pause import PauseCommand
|
||||
# from .play import PlayCommand
|
||||
# from .playmode import PlaymodeCommand
|
||||
# from .queue import QueueCommand
|
||||
# from .skip import SkipCommand
|
||||
# from .summon import SummonCommand
|
||||
# from .youtube import YoutubeCommand
|
||||
# from .soundcloud import SoundcloudCommand
|
||||
# from .zawarudo import ZawarudoCommand
|
||||
from .emojify import EmojifyCommand
|
||||
from .leagueoflegends import LeagueoflegendsCommand
|
||||
# from .leagueoflegends import LeagueoflegendsCommand
|
||||
from .diarioquote import DiarioquoteCommand
|
||||
from .mp3 import Mp3Command
|
||||
# from .mp3 import Mp3Command
|
||||
from .peertube import PeertubeCommand
|
||||
|
||||
# Enter the commands of your Pack here!
|
||||
available_commands = [
|
||||
CiaoruoziCommand,
|
||||
ColorCommand,
|
||||
CvCommand,
|
||||
# CvCommand,
|
||||
DiarioCommand,
|
||||
RageCommand,
|
||||
ReminderCommand,
|
||||
ShipCommand,
|
||||
SmecdsCommand,
|
||||
VideochannelCommand,
|
||||
TriviaCommand,
|
||||
MatchmakingCommand,
|
||||
PauseCommand,
|
||||
PlayCommand,
|
||||
PlaymodeCommand,
|
||||
QueueCommand,
|
||||
SkipCommand,
|
||||
SummonCommand,
|
||||
YoutubeCommand,
|
||||
SoundcloudCommand,
|
||||
ZawarudoCommand,
|
||||
# RageCommand,
|
||||
# ReminderCommand,
|
||||
# ShipCommand,
|
||||
# SmecdsCommand,
|
||||
# VideochannelCommand,
|
||||
# TriviaCommand,
|
||||
# MatchmakingCommand,
|
||||
# PauseCommand,
|
||||
# PlayCommand,
|
||||
# PlaymodeCommand,
|
||||
# QueueCommand,
|
||||
# SkipCommand,
|
||||
# SummonCommand,
|
||||
# YoutubeCommand,
|
||||
# SoundcloudCommand,
|
||||
# ZawarudoCommand,
|
||||
EmojifyCommand,
|
||||
LeagueoflegendsCommand,
|
||||
# LeagueoflegendsCommand,
|
||||
DiarioquoteCommand,
|
||||
Mp3Command,
|
||||
# Mp3Command,
|
||||
PeertubeCommand,
|
||||
]
|
||||
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
import typing
|
||||
import telegram
|
||||
from royalnet.commands import *
|
||||
|
||||
|
@ -8,14 +7,11 @@ class CiaoruoziCommand(Command):
|
|||
|
||||
description: str = "Saluta Ruozi, un leggendario essere che una volta era in User Games."
|
||||
|
||||
syntax: str = ""
|
||||
|
||||
tables: typing.Set = set()
|
||||
|
||||
async def run(self, args: CommandArgs, data: CommandData) -> None:
|
||||
if self.interface.name == "telegram":
|
||||
update: telegram.Update = data.update
|
||||
user: telegram.User = update.effective_user
|
||||
# Se sei Ruozi, salutati da solo!
|
||||
if user.id == 112437036:
|
||||
await data.reply("👋 Ciao me!")
|
||||
return
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
import typing
|
||||
import re
|
||||
import datetime
|
||||
import telegram
|
||||
import aiohttp
|
||||
from typing import *
|
||||
from royalnet.commands import *
|
||||
from royalnet.utils import asyncify
|
||||
from ..tables import User, Diario, Alias
|
||||
from royalnet.backpack.tables import *
|
||||
from ..tables import *
|
||||
|
||||
|
||||
async def to_imgur(imgur_api_key, photosizes: typing.List[telegram.PhotoSize], caption="") -> str:
|
||||
async def to_imgur(imgur_api_key, photosizes: List[telegram.PhotoSize], caption="") -> str:
|
||||
# Select the largest photo
|
||||
largest_photo = sorted(photosizes, key=lambda p: p.width * p.height)[-1]
|
||||
# Get the photo url
|
||||
|
@ -35,8 +36,6 @@ class DiarioCommand(Command):
|
|||
|
||||
syntax = "[!] \"{testo}\" --[autore], [contesto]"
|
||||
|
||||
tables = {User, Diario, Alias}
|
||||
|
||||
async def run(self, args: CommandArgs, data: CommandData) -> None:
|
||||
if self.interface.name == "telegram":
|
||||
update: telegram.Update = data.update
|
||||
|
@ -44,15 +43,15 @@ class DiarioCommand(Command):
|
|||
reply: telegram.Message = message.reply_to_message
|
||||
creator = await data.get_author()
|
||||
# noinspection PyUnusedLocal
|
||||
quoted: typing.Optional[str]
|
||||
quoted: Optional[str]
|
||||
# noinspection PyUnusedLocal
|
||||
text: typing.Optional[str]
|
||||
text: Optional[str]
|
||||
# noinspection PyUnusedLocal
|
||||
context: typing.Optional[str]
|
||||
context: Optional[str]
|
||||
# noinspection PyUnusedLocal
|
||||
timestamp: datetime.datetime
|
||||
# noinspection PyUnusedLocal
|
||||
media_url: typing.Optional[str]
|
||||
media_url: Optional[str]
|
||||
# noinspection PyUnusedLocal
|
||||
spoiler: bool
|
||||
if creator is None:
|
||||
|
@ -62,19 +61,19 @@ class DiarioCommand(Command):
|
|||
# Get the message text
|
||||
text = reply.text
|
||||
# Check if there's an image associated with the reply
|
||||
photosizes: typing.Optional[typing.List[telegram.PhotoSize]] = reply.photo
|
||||
photosizes: Optional[List[telegram.PhotoSize]] = reply.photo
|
||||
if photosizes:
|
||||
# Text is a caption
|
||||
text = reply.caption
|
||||
media_url = await to_imgur(self.interface.bot.get_secret("imgur"),
|
||||
media_url = await to_imgur(self.interface.cfg["Imgur"]["token"],
|
||||
photosizes, text if text is not None else "")
|
||||
else:
|
||||
media_url = None
|
||||
# Ensure there is a text or an image
|
||||
if not (text or media_url):
|
||||
raise InvalidInputError("Missing text.")
|
||||
raise InvalidInputError("Il messaggio a cui hai risposto non contiene testo o immagini.")
|
||||
# Find the Royalnet account associated with the sender
|
||||
quoted_tg = await asyncify(data.session.query(self.interface.alchemy.Telegram)
|
||||
quoted_tg = await asyncify(data.session.query(self.alchemy.get(Telegram))
|
||||
.filter_by(tg_id=reply.from_user.id)
|
||||
.one_or_none)
|
||||
quoted_account = quoted_tg.royal if quoted_tg is not None else None
|
||||
|
@ -92,9 +91,9 @@ class DiarioCommand(Command):
|
|||
# Get the message text
|
||||
raw_text = " ".join(args)
|
||||
# Check if there's an image associated with the reply
|
||||
photosizes: typing.Optional[typing.List[telegram.PhotoSize]] = message.photo
|
||||
photosizes: Optional[List[telegram.PhotoSize]] = message.photo
|
||||
if photosizes:
|
||||
media_url = await to_imgur(self.interface.bot.get_secret("imgur"),
|
||||
media_url = await to_imgur(self.interface.cfg["Imgur"]["token"],
|
||||
photosizes, raw_text if raw_text is not None else "")
|
||||
else:
|
||||
media_url = None
|
||||
|
@ -124,8 +123,9 @@ class DiarioCommand(Command):
|
|||
# Find if there's a Royalnet account associated with the quoted name
|
||||
if quoted is not None:
|
||||
quoted_alias = await asyncify(
|
||||
data.session.query(self.interface.alchemy.Alias)
|
||||
.filter_by(alias=quoted.lower()).one_or_none)
|
||||
data.session.query(self.alchemy.get(Alias))
|
||||
.filter_by(alias=quoted.lower()).one_or_none
|
||||
)
|
||||
else:
|
||||
quoted_alias = None
|
||||
quoted_account = quoted_alias.royal if quoted_alias is not None else None
|
||||
|
@ -137,9 +137,9 @@ class DiarioCommand(Command):
|
|||
context = None
|
||||
# Ensure there is a text or an image
|
||||
if not (text or media_url):
|
||||
raise InvalidInputError("Missing text.")
|
||||
raise InvalidInputError("Manca il testo o l'immagine da inserire nel diario.")
|
||||
# Create the diario quote
|
||||
diario = self.interface.alchemy.Diario(creator=creator,
|
||||
diario = self.alchemy.get(Diario)(creator=creator,
|
||||
quoted_account=quoted_account,
|
||||
quoted=quoted,
|
||||
text=text,
|
||||
|
@ -173,7 +173,7 @@ class DiarioCommand(Command):
|
|||
timestamp = datetime.datetime.now()
|
||||
# Ensure there is some text
|
||||
if not text:
|
||||
raise InvalidInputError("Missing text.")
|
||||
raise InvalidInputError("Manca il testo o l'immagine da inserire nel diario.")
|
||||
# Or a quoted
|
||||
if not quoted:
|
||||
quoted = None
|
||||
|
@ -182,18 +182,18 @@ class DiarioCommand(Command):
|
|||
# Find if there's a Royalnet account associated with the quoted name
|
||||
if quoted is not None:
|
||||
quoted_alias = await asyncify(
|
||||
data.session.query(self.interface.alchemy.Alias)
|
||||
data.session.query(self.alchemy.get(Alias))
|
||||
.filter_by(alias=quoted.lower())
|
||||
.one_or_none)
|
||||
.one_or_none
|
||||
)
|
||||
else:
|
||||
quoted_alias = None
|
||||
quoted_account = quoted_alias.royal if quoted_alias is not None else None
|
||||
if quoted_alias is not None and quoted_account is None:
|
||||
await data.reply("⚠️ Il nome dell'autore è ambiguo, quindi la riga non è stata aggiunta.\n"
|
||||
raise UserError("Il nome dell'autore è ambiguo, quindi la riga non è stata aggiunta.\n"
|
||||
"Per piacere, ripeti il comando con un nome più specifico!")
|
||||
return
|
||||
# Create the diario quote
|
||||
diario = self.interface.alchemy.Diario(creator=creator,
|
||||
diario = self.alchemy.Diario(creator=creator,
|
||||
quoted_account=quoted_account,
|
||||
quoted=quoted,
|
||||
text=text,
|
||||
|
|
|
@ -12,14 +12,12 @@ class DiarioquoteCommand(Command):
|
|||
|
||||
syntax = "{id}"
|
||||
|
||||
tables = {Diario}
|
||||
|
||||
async def run(self, args: CommandArgs, data: CommandData) -> None:
|
||||
try:
|
||||
entry_id = int(args[0].lstrip("#"))
|
||||
except ValueError:
|
||||
raise CommandError("L'id che hai specificato non è valido.")
|
||||
entry: Diario = await asyncify(data.session.query(self.alchemy.Diario).get, entry_id)
|
||||
entry: Diario = await asyncify(data.session.query(self.alchemy.get(Diario)).get, entry_id)
|
||||
if entry is None:
|
||||
raise CommandError("Nessuna riga con quell'id trovata.")
|
||||
await data.reply(str(entry))
|
||||
await data.reply(f"ℹ️ {entry}")
|
||||
|
|
|
@ -4,7 +4,7 @@ import datetime
|
|||
import logging
|
||||
import dateparser
|
||||
from royalnet.commands import *
|
||||
from royalnet.utils import telegram_escape
|
||||
from royalnet.serf.telegram.escape import escape
|
||||
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
@ -15,16 +15,10 @@ class PeertubeCommand(Command):
|
|||
|
||||
description: str = "Guarda quando è uscito l'ultimo video su RoyalTube."
|
||||
|
||||
_url = r"https://pt.steffo.eu/feeds/videos.json?sort=-publishedAt&filter=local"
|
||||
|
||||
_ready = asyncio.Event()
|
||||
|
||||
_timeout = 300
|
||||
|
||||
_latest_date: datetime.datetime = None
|
||||
|
||||
_telegram_group_id = -1001153723135
|
||||
|
||||
def __init__(self, interface: CommandInterface):
|
||||
super().__init__(interface)
|
||||
if self.interface.name == "telegram":
|
||||
|
@ -34,7 +28,7 @@ class PeertubeCommand(Command):
|
|||
async def _get_json(self):
|
||||
log.debug("Getting jsonfeed")
|
||||
async with aiohttp.ClientSession() as session:
|
||||
async with session.get(self._url) as response:
|
||||
async with session.get(self.interface.cfg["Peertube"]["feed_url"]) as response:
|
||||
log.debug("Parsing jsonfeed")
|
||||
j = await response.json()
|
||||
log.debug("Jsonfeed parsed successfully")
|
||||
|
@ -43,15 +37,15 @@ class PeertubeCommand(Command):
|
|||
async def _send(self, message):
|
||||
client = self.interface.bot.client
|
||||
await self.interface.bot.safe_api_call(client.send_message,
|
||||
chat_id=self._telegram_group_id,
|
||||
text=telegram_escape(message),
|
||||
chat_id=self.interface.cfg["Telegram"]["main_group_id"],
|
||||
text=escape(message),
|
||||
parse_mode="HTML",
|
||||
disable_webpage_preview=True)
|
||||
|
||||
async def _ready_up(self):
|
||||
j = await self._get_json()
|
||||
if j["version"] != "https://jsonfeed.org/version/1":
|
||||
raise ConfigurationError("_url is not a jsonfeed")
|
||||
raise ConfigurationError("url is not a jsonfeed")
|
||||
videos = j["items"]
|
||||
for video in reversed(videos):
|
||||
date_modified = dateparser.parse(video["date_modified"])
|
||||
|
@ -73,7 +67,7 @@ class PeertubeCommand(Command):
|
|||
await self._send(f"🆕 Nuovo video su RoyalTube!\n"
|
||||
f"[b]{video['title']}[/b]\n"
|
||||
f"{video['url']}")
|
||||
await asyncio.sleep(self._timeout)
|
||||
await asyncio.sleep(self.interface.cfg["Peertube"]["feed_update_timeout"])
|
||||
|
||||
async def run(self, args: CommandArgs, data: CommandData) -> None:
|
||||
if self.interface.name != "telegram":
|
||||
|
|
12
royalpack/events/__init__.py
Normal file
12
royalpack/events/__init__.py
Normal file
|
@ -0,0 +1,12 @@
|
|||
# Imports go here!
|
||||
|
||||
|
||||
# Enter the commands of your Pack here!
|
||||
available_events = [
|
||||
|
||||
]
|
||||
|
||||
# noinspection PyUnreachableCode
|
||||
|
||||
# Don't change this, it should automatically generate __all__
|
||||
__all__ = [command.__name__ for command in available_events]
|
|
@ -1,22 +1,22 @@
|
|||
from starlette.requests import Request
|
||||
from starlette.responses import *
|
||||
from royalnet.web import *
|
||||
from royalnet.constellation import *
|
||||
from royalnet.utils import *
|
||||
from ..tables import Diario
|
||||
from royalnet.backpack.tables import *
|
||||
from ..tables import *
|
||||
|
||||
|
||||
class ApiDiarioGetStar(PageStar):
|
||||
path = "/api/diario/get/{diario_id}"
|
||||
tables = {Diario}
|
||||
|
||||
async def page(self, request: Request) -> JSONResponse:
|
||||
diario_id_str = request.path_params.get("diario_id", "")
|
||||
try:
|
||||
diario_id = int(diario_id_str)
|
||||
except (ValueError, TypeError):
|
||||
return error(400, "Invalid diario_id")
|
||||
return shoot(400, "Invalid diario_id")
|
||||
async with self.alchemy.session_acm() as session:
|
||||
entry: Diario = await asyncify(session.query(self.alchemy.User).get, diario_id)
|
||||
entry: Diario = await asyncify(session.query(self.alchemy.get(Diario)).get, diario_id)
|
||||
if entry is None:
|
||||
return error(404, "No such user")
|
||||
return shoot(404, "No such user")
|
||||
return JSONResponse(entry.json())
|
||||
|
|
|
@ -1,25 +1,35 @@
|
|||
from starlette.requests import Request
|
||||
from starlette.responses import *
|
||||
from royalnet.web import *
|
||||
from royalnet.constellation import *
|
||||
from royalnet.utils import *
|
||||
from ..tables import Diario
|
||||
from royalnet.backpack.tables import *
|
||||
from ..tables import *
|
||||
|
||||
|
||||
class ApiDiarioListStar(PageStar):
|
||||
path = "/api/diario/list"
|
||||
tables = {Diario}
|
||||
|
||||
async def page(self, request: Request) -> JSONResponse:
|
||||
page_str = request.query_params.get("page", "0")
|
||||
try:
|
||||
page = int(page_str)
|
||||
except (ValueError, TypeError):
|
||||
return error(400, "Invalid offset")
|
||||
return shoot(400, "Invalid offset")
|
||||
async with self.alchemy.session_acm() as session:
|
||||
if page < 0:
|
||||
page = -page-1
|
||||
entries: typing.List[Diario] = await asyncify(session.query(self.alchemy.Diario).order_by(self.alchemy.Diario.diario_id.desc()).limit(500).offset(page * 500).all)
|
||||
entries: typing.List[Diario] = await asyncify(
|
||||
session.query(self.alchemy.get(Diario))
|
||||
.order_by(self.alchemy.get(Diario).diario_id.desc()).limit(500)
|
||||
.offset(page * 500)
|
||||
.all
|
||||
)
|
||||
else:
|
||||
entries: typing.List[Diario] = await asyncify(session.query(self.alchemy.Diario).order_by(self.alchemy.Diario.diario_id).limit(500).offset(page * 500).all)
|
||||
entries: typing.List[Diario] = await asyncify(
|
||||
session.query(self.alchemy.get(Diario))
|
||||
.order_by(self.alchemy.get(Diario).diario_id)
|
||||
.limit(500)
|
||||
.offset(page * 500)
|
||||
.all)
|
||||
response = [entry.json() for entry in entries]
|
||||
return JSONResponse(response)
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
from starlette.requests import Request
|
||||
from starlette.responses import *
|
||||
from royalnet.web import *
|
||||
from royalnet.constellation import *
|
||||
from royalnet.utils import *
|
||||
from royalnet.packs.common.tables import User
|
||||
from royalnet.backpack.tables import *
|
||||
from ..tables import *
|
||||
|
||||
|
||||
class ApiUserGetStar(PageStar):
|
||||
path = "/api/user/get/{uid_str}"
|
||||
tables = {User}
|
||||
|
||||
async def page(self, request: Request) -> JSONResponse:
|
||||
uid_str = request.path_params.get("uid_str", "")
|
||||
try:
|
||||
uid = int(uid_str)
|
||||
except (ValueError, TypeError):
|
||||
return error(400, "Invalid uid")
|
||||
return shoot(400, "Invalid uid")
|
||||
async with self.alchemy.session_acm() as session:
|
||||
user: User = await asyncify(session.query(self.alchemy.User).get, uid)
|
||||
user: User = await asyncify(session.query(self.alchemy.get(User)).get, uid)
|
||||
if user is None:
|
||||
return error(404, "No such user")
|
||||
return shoot(404, "No such user")
|
||||
return JSONResponse(user.json())
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
from starlette.requests import Request
|
||||
from starlette.responses import *
|
||||
from royalnet.web import *
|
||||
from royalnet.constellation import *
|
||||
from royalnet.utils import *
|
||||
from royalnet.packs.common.tables import User
|
||||
from royalnet.backpack.tables import *
|
||||
from ..tables import *
|
||||
|
||||
|
||||
class ApiUserListStar(PageStar):
|
||||
|
@ -11,5 +12,5 @@ class ApiUserListStar(PageStar):
|
|||
|
||||
async def page(self, request: Request) -> JSONResponse:
|
||||
async with self.alchemy.session_acm() as session:
|
||||
users: typing.List[User] = await asyncify(session.query(self.alchemy.User).all)
|
||||
users: typing.List[User] = await asyncify(session.query(self.alchemy.get(User)).all)
|
||||
return JSONResponse([user.json() for user in users])
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
# Imports go here!
|
||||
from royalnet.packs.common.tables import User
|
||||
from royalnet.packs.common.tables import Telegram
|
||||
from royalnet.packs.common.tables import Discord
|
||||
|
||||
from .diario import Diario
|
||||
from .aliases import Alias
|
||||
from .wikipages import WikiPage
|
||||
|
@ -16,9 +12,6 @@ from .leagueoflegends import LeagueOfLegends
|
|||
|
||||
# Enter the tables of your Pack here!
|
||||
available_tables = [
|
||||
User,
|
||||
Telegram,
|
||||
Discord,
|
||||
Diario,
|
||||
Alias,
|
||||
WikiPage,
|
||||
|
|
|
@ -83,8 +83,9 @@ class Diario:
|
|||
f" spoiler={self.spoiler}>"
|
||||
|
||||
def __str__(self):
|
||||
text = f"Riga #{self.diario_id}"
|
||||
text += f" (salvata da {str(self.creator)}"
|
||||
text = f"Riga #{self.diario_id} (salvata"
|
||||
if self.creator is not None:
|
||||
text += f" da {str(self.creator)}"
|
||||
text += f" il {self.timestamp.strftime('%Y-%m-%d %H:%M')}):\n"
|
||||
if self.media_url is not None:
|
||||
text += f"{self.media_url}\n"
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
|
||||
del /f /q /s dist\*.*
|
||||
python setup.py sdist bdist_wheel
|
||||
twine upload dist/*
|
12
to_pypi.sh
12
to_pypi.sh
|
@ -1,12 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Royalnet must be installed with `develop`
|
||||
VERSION=$(python3.7 -m royalpack.version)
|
||||
|
||||
rm -rf dist
|
||||
python setup.py sdist bdist_wheel
|
||||
twine upload "dist/royalpack-$VERSION"*
|
||||
git add *
|
||||
git commit -m "$VERSION"
|
||||
git push
|
||||
hub release create --message "Version $VERSION" --prerelease "$VERSION"
|
Loading…
Reference in a new issue