mirror of
https://github.com/RYGhub/royalnet.git
synced 2024-11-23 03:24:20 +00:00
💥 Possibly progress but also a mess
This commit is contained in:
parent
b678467153
commit
d1a4cb24d4
7 changed files with 171 additions and 24 deletions
42
poetry.lock
generated
42
poetry.lock
generated
|
@ -59,7 +59,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||||
name = "click"
|
name = "click"
|
||||||
version = "7.1.2"
|
version = "7.1.2"
|
||||||
description = "Composable command line interface toolkit"
|
description = "Composable command line interface toolkit"
|
||||||
category = "dev"
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||||
|
|
||||||
|
@ -67,7 +67,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||||
name = "colorama"
|
name = "colorama"
|
||||||
version = "0.4.4"
|
version = "0.4.4"
|
||||||
description = "Cross-platform colored terminal text."
|
description = "Cross-platform colored terminal text."
|
||||||
category = "dev"
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
|
||||||
|
|
||||||
|
@ -127,7 +127,7 @@ python-versions = ">=3.6"
|
||||||
name = "psutil"
|
name = "psutil"
|
||||||
version = "5.8.0"
|
version = "5.8.0"
|
||||||
description = "Cross-platform lib for process and system monitoring in Python."
|
description = "Cross-platform lib for process and system monitoring in Python."
|
||||||
category = "dev"
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
|
||||||
|
|
||||||
|
@ -146,7 +146,7 @@ python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
|
||||||
name = "pyaes"
|
name = "pyaes"
|
||||||
version = "1.6.1"
|
version = "1.6.1"
|
||||||
description = "Pure-Python Implementation of the AES block-cipher and common modes of operation"
|
description = "Pure-Python Implementation of the AES block-cipher and common modes of operation"
|
||||||
category = "dev"
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
|
|
||||||
|
@ -154,7 +154,7 @@ python-versions = "*"
|
||||||
name = "pyasn1"
|
name = "pyasn1"
|
||||||
version = "0.4.8"
|
version = "0.4.8"
|
||||||
description = "ASN.1 types and codecs"
|
description = "ASN.1 types and codecs"
|
||||||
category = "dev"
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = "*"
|
python-versions = "*"
|
||||||
|
|
||||||
|
@ -183,7 +183,7 @@ python-versions = "*"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "royalnet"
|
name = "royalnet"
|
||||||
version = "6.2.10"
|
version = "6.3.0"
|
||||||
description = "A multipurpose bot framework"
|
description = "A multipurpose bot framework"
|
||||||
category = "main"
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
|
@ -197,9 +197,9 @@ toml = ">=0.10.1,<0.11.0"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "royalnet-console"
|
name = "royalnet-console"
|
||||||
version = "2.0.1"
|
version = "2.0.2"
|
||||||
description = "A terminal-based frontend for the royalnet.engineer module."
|
description = "A terminal-based frontend for the royalnet.engineer module."
|
||||||
category = "dev"
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8,<4.0"
|
python-versions = ">=3.8,<4.0"
|
||||||
|
|
||||||
|
@ -207,26 +207,26 @@ python-versions = ">=3.8,<4.0"
|
||||||
click = ">=7.1.2,<8.0.0"
|
click = ">=7.1.2,<8.0.0"
|
||||||
colorama = ">=0.4.4,<0.5.0"
|
colorama = ">=0.4.4,<0.5.0"
|
||||||
psutil = ">=5.8.0,<6.0.0"
|
psutil = ">=5.8.0,<6.0.0"
|
||||||
royalnet = ">=6.2.0,<6.3.0"
|
royalnet = ">=6.3.0,<6.4.0"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "royalnet-telethon"
|
name = "royalnet-telethon"
|
||||||
version = "0.3.1"
|
version = "1.0.0"
|
||||||
description = "A Telethon-based frontend for the royalnet.engineer module."
|
description = "A Telethon-based frontend for the royalnet.engineer module."
|
||||||
category = "dev"
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.8,<4.0"
|
python-versions = ">=3.8,<4.0"
|
||||||
|
|
||||||
[package.dependencies]
|
[package.dependencies]
|
||||||
click = ">=7.1.2,<8.0.0"
|
click = ">=7.1.2,<8.0.0"
|
||||||
royalnet = ">=6.2.10,<6.3.0"
|
royalnet = ">=6.3.0,<6.4.0"
|
||||||
Telethon = ">=1.21.1,<2.0.0"
|
Telethon = ">=1.21.1,<2.0.0"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rsa"
|
name = "rsa"
|
||||||
version = "4.7.2"
|
version = "4.7.2"
|
||||||
description = "Pure-Python RSA implementation"
|
description = "Pure-Python RSA implementation"
|
||||||
category = "dev"
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.5, <4"
|
python-versions = ">=3.5, <4"
|
||||||
|
|
||||||
|
@ -268,7 +268,7 @@ sqlcipher = ["sqlcipher3-binary"]
|
||||||
name = "telethon"
|
name = "telethon"
|
||||||
version = "1.21.1"
|
version = "1.21.1"
|
||||||
description = "Full-featured Telegram client library for Python 3"
|
description = "Full-featured Telegram client library for Python 3"
|
||||||
category = "dev"
|
category = "main"
|
||||||
optional = false
|
optional = false
|
||||||
python-versions = ">=3.5"
|
python-versions = ">=3.5"
|
||||||
|
|
||||||
|
@ -310,7 +310,7 @@ multidict = ">=4.0"
|
||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "1.1"
|
lock-version = "1.1"
|
||||||
python-versions = "^3.8"
|
python-versions = "^3.8"
|
||||||
content-hash = "22fc870d53f6152b719e9e0fad1ff1d77961e68a52a4cb09765e203dd4c72ece"
|
content-hash = "41b994185949507e7f8285280a484f57179679c337ba81d18ab8fde6945e758c"
|
||||||
|
|
||||||
[metadata.files]
|
[metadata.files]
|
||||||
aiohttp = [
|
aiohttp = [
|
||||||
|
@ -567,16 +567,16 @@ pyreadline = [
|
||||||
{file = "pyreadline-2.1.zip", hash = "sha256:4530592fc2e85b25b1a9f79664433da09237c1a270e4d78ea5aa3a2c7229e2d1"},
|
{file = "pyreadline-2.1.zip", hash = "sha256:4530592fc2e85b25b1a9f79664433da09237c1a270e4d78ea5aa3a2c7229e2d1"},
|
||||||
]
|
]
|
||||||
royalnet = [
|
royalnet = [
|
||||||
{file = "royalnet-6.2.10-py3-none-any.whl", hash = "sha256:794d2f2c5d319a1649cf97355d7ad07c0ad36df4d96b4ad534eb1dc1c4a39caa"},
|
{file = "royalnet-6.3.0-py3-none-any.whl", hash = "sha256:f2f6ea15def33e27ca92a0ba3b7863fab7b7339bcbb99bc83f6be74bd8e805e6"},
|
||||||
{file = "royalnet-6.2.10.tar.gz", hash = "sha256:1a3f87b77fccce8df7571fcd0d8fbc5837b9f173a6d15c5e1e3e679a377b8ba5"},
|
{file = "royalnet-6.3.0.tar.gz", hash = "sha256:6301ef60a1402ec59e55a206462f5b7296c5f6bbd6ab0bf38851ede42add5b20"},
|
||||||
]
|
]
|
||||||
royalnet-console = [
|
royalnet-console = [
|
||||||
{file = "royalnet-console-2.0.1.tar.gz", hash = "sha256:33b054157447bbf8bac7f711548395d028ca677b16624108e932ec94c428f46c"},
|
{file = "royalnet-console-2.0.2.tar.gz", hash = "sha256:ea8e8fb9f3da51f9845f7b8841bc5d971a805bbc765970fe2a76603a49d29b1e"},
|
||||||
{file = "royalnet_console-2.0.1-py3-none-any.whl", hash = "sha256:de262fa8fa9072fc90cc8cf4e891b950bbfd25a9918571a63f609d81c8f435c5"},
|
{file = "royalnet_console-2.0.2-py3-none-any.whl", hash = "sha256:c9505dc37c8f8b9a4bb96687622f00e4516b44b8bb29ad8edd5d0acf40872487"},
|
||||||
]
|
]
|
||||||
royalnet-telethon = [
|
royalnet-telethon = [
|
||||||
{file = "royalnet-telethon-0.3.1.tar.gz", hash = "sha256:2d6b9e364d09da3357822abeeab12663f6097248f4489909d0b20030b5791b0a"},
|
{file = "royalnet-telethon-1.0.0.tar.gz", hash = "sha256:361e64f06ccdae541dd97669066b91ea36d374d57a51d07703be490ef362e867"},
|
||||||
{file = "royalnet_telethon-0.3.1-py3-none-any.whl", hash = "sha256:24953539fb947d60aff05b558753a4e96a8ddd0b1aa8aca744d06995ef56f1b1"},
|
{file = "royalnet_telethon-1.0.0-py3-none-any.whl", hash = "sha256:1879cf8bc00f25bf0809e22da319f631e266fae3073c371893a4057f30bdbb02"},
|
||||||
]
|
]
|
||||||
rsa = [
|
rsa = [
|
||||||
{file = "rsa-4.7.2-py3-none-any.whl", hash = "sha256:78f9a9bf4e7be0c5ded4583326e7461e3a3c5aae24073648b4bdfa797d78c9d2"},
|
{file = "rsa-4.7.2-py3-none-any.whl", hash = "sha256:78f9a9bf4e7be0c5ded4583326e7461e3a3c5aae24073648b4bdfa797d78c9d2"},
|
||||||
|
|
|
@ -37,11 +37,19 @@ pda = engi.PDA(implementations=[
|
||||||
pda.implementations["telethon.1"].register_partialcommand(commands.ahnonlosoio, ["ahnonlosoio"])
|
pda.implementations["telethon.1"].register_partialcommand(commands.ahnonlosoio, ["ahnonlosoio"])
|
||||||
pda.implementations["telethon.1"].register_partialcommand(commands.answer, ["answer"])
|
pda.implementations["telethon.1"].register_partialcommand(commands.answer, ["answer"])
|
||||||
pda.implementations["telethon.1"].register_partialcommand(commands.cat, ["cat"])
|
pda.implementations["telethon.1"].register_partialcommand(commands.cat, ["cat"])
|
||||||
|
pda.implementations["telethon.1"].register_partialcommand(commands.ciaoruozi, ["ciaoruozi"])
|
||||||
pda.implementations["telethon.1"].register_partialcommand(commands.color, ["color"])
|
pda.implementations["telethon.1"].register_partialcommand(commands.color, ["color"])
|
||||||
pda.implementations["telethon.1"].register_partialcommand(commands.ping, ["ping"])
|
pda.implementations["telethon.1"].register_partialcommand(commands.ping, ["ping"])
|
||||||
pda.implementations["telethon.1"].register_partialcommand(commands.ship, ["ship"])
|
pda.implementations["telethon.1"].register_partialcommand(commands.ship, ["ship"])
|
||||||
pda.implementations["telethon.1"].register_partialcommand(commands.rage_show, ["rage"])
|
pda.implementations["telethon.1"].register_partialcommand(commands.rage_show, ["rage"])
|
||||||
pda.implementations["telethon.1"].register_partialcommand(commands.rage_add, ["rage"])
|
pda.implementations["telethon.1"].register_partialcommand(commands.rage_add, ["rage"])
|
||||||
|
pda.implementations["telethon.1"].register_partialcommand(commands.debug, ["debug"])
|
||||||
|
pda.implementations["telethon.1"].register_partialcommand(commands.debug_impls, ["debug"])
|
||||||
|
pda.implementations["telethon.1"].register_partialcommand(commands.debug_exts, ["debug"])
|
||||||
|
pda.implementations["telethon.1"].register_partialcommand(commands.debug_convs, ["debug"])
|
||||||
|
pda.implementations["telethon.1"].register_partialcommand(commands.ciao, ["ciao"])
|
||||||
|
pda.implementations["telethon.1"].register_partialcommand(commands.help_cmd, ["help"])
|
||||||
|
pda.implementations["telethon.1"].register_partialcommand(commands.help_single, ["help"])
|
||||||
|
|
||||||
|
|
||||||
pda.run()
|
pda.run()
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
from .ahnonlosoio import *
|
from .ahnonlosoio import *
|
||||||
from .answer import *
|
from .answer import *
|
||||||
from .cat import *
|
from .cat import *
|
||||||
|
from .ciaoruozi import *
|
||||||
from .color import *
|
from .color import *
|
||||||
from .ping import *
|
from .ping import *
|
||||||
from .ship import *
|
from .ship import *
|
||||||
from .rage import *
|
from .rage import *
|
||||||
|
from .debug import *
|
||||||
|
from .ciao import *
|
||||||
|
from .help import *
|
||||||
|
|
26
royalpack/commands/ciao.py
Normal file
26
royalpack/commands/ciao.py
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
import royalnet.engineer as engi
|
||||||
|
|
||||||
|
|
||||||
|
@engi.PartialCommand.new(syntax="", lock=False)
|
||||||
|
async def ciao(*, _sentry: engi.Sentry, _msg: engi.Message, **__):
|
||||||
|
await _msg.reply(text="👋 Ciao, chi sei?")
|
||||||
|
|
||||||
|
answer: engi.MessageReceived = await _sentry.filter(engi.Type(engi.MessageReceived)).get()
|
||||||
|
_msg: engi.Message = await answer.message
|
||||||
|
_text: str = await _msg.text
|
||||||
|
|
||||||
|
await _msg.reply(text=f"👋 Ciao {_text}! Come stai?")
|
||||||
|
|
||||||
|
answer: engi.MessageReceived = await _sentry.filter(engi.Type(engi.MessageReceived)).get()
|
||||||
|
_msg: engi.Message = await answer.message
|
||||||
|
_text: str = await _msg.text
|
||||||
|
|
||||||
|
if "mamma" in _text or "madre" in _text:
|
||||||
|
await _msg.reply(text=f"😐 Ehi... Al massimo sono io quello che sta {_text}!")
|
||||||
|
elif "male" in _text:
|
||||||
|
await _msg.reply(text=f"☹️ Mi dispiace che tu stia {_text}... :(")
|
||||||
|
else:
|
||||||
|
await _msg.reply(text=f"🙂 Anche io sto {_text} :)")
|
||||||
|
|
||||||
|
|
||||||
|
__all__ = ("ciao",)
|
|
@ -4,12 +4,12 @@ import royalnet_telethon.bullet.contents as rtc
|
||||||
|
|
||||||
|
|
||||||
@engi.PartialCommand.new(syntax="")
|
@engi.PartialCommand.new(syntax="")
|
||||||
async def ciaoruozi(*, _sentry: engi.Sentry, _msg: engi.Message, _pda, **__):
|
async def ciaoruozi(*, _sentry: engi.Sentry, _msg: engi.Message, _imp, **__):
|
||||||
"""
|
"""
|
||||||
Saluta Ruozi, una creatura leggendaria che potrebbe esistere o non esistere in Royal Games.
|
Saluta Ruozi, una creatura leggendaria che potrebbe esistere o non esistere in Royal Games.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if isinstance(_pda, rt.TelethonPDA):
|
if isinstance(_imp, rt.TelethonPDAImplementation):
|
||||||
sender: rtc.TelegramUser = await _msg.sender
|
sender: rtc.TelegramUser = await _msg.sender
|
||||||
# noinspection PyProtectedMember
|
# noinspection PyProtectedMember
|
||||||
if sender._user.id == 112437036:
|
if sender._user.id == 112437036:
|
||||||
|
@ -18,4 +18,4 @@ async def ciaoruozi(*, _sentry: engi.Sentry, _msg: engi.Message, _pda, **__):
|
||||||
await _msg.reply(text="👋 Ciao Ruozi!")
|
await _msg.reply(text="👋 Ciao Ruozi!")
|
||||||
|
|
||||||
|
|
||||||
__all__ = ("color",)
|
__all__ = ("ciaoruozi",)
|
||||||
|
|
57
royalpack/commands/debug.py
Normal file
57
royalpack/commands/debug.py
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
import royalnet.engineer as engi
|
||||||
|
import royalnet_telethon as rt
|
||||||
|
|
||||||
|
newline = "\n"
|
||||||
|
|
||||||
|
|
||||||
|
@engi.PartialCommand.new(syntax="")
|
||||||
|
async def debug(*, _sentry: engi.Sentry, _msg: engi.Message, _pda: engi.PDA, **__):
|
||||||
|
"""
|
||||||
|
Check the implementations currently running on the PDA.
|
||||||
|
"""
|
||||||
|
await _msg.reply(text=f"""
|
||||||
|
🐛 Sottocomandi di debug disponibili:
|
||||||
|
|
||||||
|
- impls
|
||||||
|
- commands
|
||||||
|
""")
|
||||||
|
|
||||||
|
|
||||||
|
@engi.PartialCommand.new(syntax=r"impls")
|
||||||
|
async def debug_impls(*, _sentry: engi.Sentry, _msg: engi.Message, _pda: engi.PDA, **__):
|
||||||
|
await _msg.reply(text=f"""
|
||||||
|
🐛 Implementazioni attive sul PDA:
|
||||||
|
|
||||||
|
{newline.join([f'🔵 {implementation!r}' for implementation in _pda.implementations.values()])}
|
||||||
|
""")
|
||||||
|
|
||||||
|
|
||||||
|
@engi.PartialCommand.new(syntax=r"exts (?P<impl>\S+)")
|
||||||
|
async def debug_exts(*, _sentry: engi.Sentry, _msg: engi.Message, _pda: engi.PDA, impl: str, **__):
|
||||||
|
await _msg.reply(text=f"""
|
||||||
|
🐛 Estensioni attive sull'implementazione {impl}:
|
||||||
|
|
||||||
|
{newline.join([f'🔵 {extension!r}' for extension in _pda.implementations[impl].extensions])}
|
||||||
|
""")
|
||||||
|
|
||||||
|
|
||||||
|
@engi.PartialCommand.new(syntax=r"convs (?P<impl>\S+)")
|
||||||
|
async def debug_convs(*, _sentry: engi.Sentry, _msg: engi.Message, _pda: engi.PDA, impl: str, **__):
|
||||||
|
implementation = _pda.implementations[impl]
|
||||||
|
|
||||||
|
if not isinstance(implementation, engi.ConversationListImplementation):
|
||||||
|
await _msg.reply(text="⚠️ Questa implementazione gestisce le conversazioni con un metodo sconosciuto.")
|
||||||
|
|
||||||
|
await _msg.reply(text=f"""
|
||||||
|
🐛 Conversazioni registrate sull'implementazione {impl}:
|
||||||
|
|
||||||
|
{newline.join([f'🔵 {command!r}' for command in implementation.conversations])}
|
||||||
|
""")
|
||||||
|
|
||||||
|
|
||||||
|
__all__ = (
|
||||||
|
"debug",
|
||||||
|
"debug_impls",
|
||||||
|
"debug_exts",
|
||||||
|
"debug_convs",
|
||||||
|
)
|
52
royalpack/commands/help.py
Normal file
52
royalpack/commands/help.py
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
import royalnet.engineer as engi
|
||||||
|
|
||||||
|
|
||||||
|
@engi.PartialCommand.new(syntax=r"")
|
||||||
|
async def help_cmd(*, _sentry: engi.Sentry, _imp: engi.PDAImplementation, _msg: engi.Message, **__):
|
||||||
|
if not isinstance(_imp, engi.ConversationListImplementation):
|
||||||
|
await _msg.reply(text="⚠️ Questa implementazione gestisce i comandi con un metodo sconosciuto.")
|
||||||
|
|
||||||
|
commands = [command for command in _imp.conversations if isinstance(command, engi.FullCommand)]
|
||||||
|
names = set([command.name() for command in commands])
|
||||||
|
text = ["ℹ️ Comandi disponibili:"]
|
||||||
|
for name in names:
|
||||||
|
text.append(f"- {name}")
|
||||||
|
text = "\n".join(text)
|
||||||
|
|
||||||
|
await _msg.reply(text=text)
|
||||||
|
|
||||||
|
|
||||||
|
@engi.PartialCommand.new(syntax=r"(?P<cmd>\S+)")
|
||||||
|
async def help_single(*, _sentry: engi.Sentry, _imp: engi.PDAImplementation, _msg: engi.Message, cmd: str, **__):
|
||||||
|
if not isinstance(_imp, engi.ConversationListImplementation):
|
||||||
|
await _msg.reply(text="⚠️ Questa implementazione gestisce i comandi con un metodo sconosciuto.")
|
||||||
|
|
||||||
|
commands = [
|
||||||
|
command
|
||||||
|
for command in _imp.conversations
|
||||||
|
if isinstance(command, engi.FullCommand)
|
||||||
|
and cmd in command.names
|
||||||
|
]
|
||||||
|
|
||||||
|
text = [f"ℹ️ Sottocomandi di {cmd} disponibili:"]
|
||||||
|
|
||||||
|
for command in commands:
|
||||||
|
text.append("")
|
||||||
|
text.append("")
|
||||||
|
text.append(f"{command}")
|
||||||
|
text.append(f" {command.pattern.pattern}")
|
||||||
|
text.append("")
|
||||||
|
if ht := command.help():
|
||||||
|
text.append(ht.strip())
|
||||||
|
else:
|
||||||
|
text.append("Questo comando non ha un help text.")
|
||||||
|
|
||||||
|
text = "\n".join(text)
|
||||||
|
|
||||||
|
await _msg.reply(text=text)
|
||||||
|
|
||||||
|
|
||||||
|
__all__ = (
|
||||||
|
"help_cmd",
|
||||||
|
"help_single",
|
||||||
|
)
|
Loading…
Reference in a new issue