mirror of
https://github.com/RYGhub/royalnet.git
synced 2024-11-23 19:44:20 +00:00
Use telegram_escape() and discord_escape() functions
This commit is contained in:
parent
81163004bf
commit
0ad680a97e
4 changed files with 35 additions and 30 deletions
|
@ -4,7 +4,7 @@ import typing
|
||||||
import logging as _logging
|
import logging as _logging
|
||||||
from .generic import GenericBot
|
from .generic import GenericBot
|
||||||
from ..commands import NullCommand
|
from ..commands import NullCommand
|
||||||
from ..utils import asyncify, Call, Command
|
from ..utils import asyncify, Call, Command, discord_escape
|
||||||
from ..error import UnregisteredError, NoneFoundError, TooManyFoundError, InvalidConfigError, RoyalnetResponseError
|
from ..error import UnregisteredError, NoneFoundError, TooManyFoundError, InvalidConfigError, RoyalnetResponseError
|
||||||
from ..network import RoyalnetConfig, Request, ResponseSuccess, ResponseError
|
from ..network import RoyalnetConfig, Request, ResponseSuccess, ResponseError
|
||||||
from ..database import DatabaseConfig
|
from ..database import DatabaseConfig
|
||||||
|
@ -47,20 +47,7 @@ class DiscordBot(GenericBot):
|
||||||
|
|
||||||
async def reply(call, text: str):
|
async def reply(call, text: str):
|
||||||
# TODO: don't escape characters inside [c][/c] blocks
|
# TODO: don't escape characters inside [c][/c] blocks
|
||||||
escaped_text = text.replace("*", "\\*") \
|
await call.channel.send(discord_escape(text))
|
||||||
.replace("_", "\\_") \
|
|
||||||
.replace("`", "\\`") \
|
|
||||||
.replace("[b]", "**") \
|
|
||||||
.replace("[/b]", "**") \
|
|
||||||
.replace("[i]", "_") \
|
|
||||||
.replace("[/i]", "_") \
|
|
||||||
.replace("[u]", "__") \
|
|
||||||
.replace("[/u]", "__") \
|
|
||||||
.replace("[c]", "`") \
|
|
||||||
.replace("[/c]", "`") \
|
|
||||||
.replace("[p]", "```") \
|
|
||||||
.replace("[/p]", "```")
|
|
||||||
await call.channel.send(escaped_text)
|
|
||||||
|
|
||||||
async def net_request(call, request: Request, destination: str) -> dict:
|
async def net_request(call, request: Request, destination: str) -> dict:
|
||||||
if self.network is None:
|
if self.network is None:
|
||||||
|
|
|
@ -5,9 +5,9 @@ import typing
|
||||||
import logging as _logging
|
import logging as _logging
|
||||||
from .generic import GenericBot
|
from .generic import GenericBot
|
||||||
from ..commands import NullCommand
|
from ..commands import NullCommand
|
||||||
from ..utils import asyncify, Call, Command
|
from ..utils import asyncify, Call, Command, telegram_escape
|
||||||
from ..error import UnregisteredError, InvalidConfigError, RoyalnetResponseError
|
from ..error import UnregisteredError, InvalidConfigError, RoyalnetResponseError
|
||||||
from ..network import RoyalnetConfig, Request, Response, ResponseSuccess, ResponseError
|
from ..network import RoyalnetConfig, Request, ResponseSuccess, ResponseError
|
||||||
from ..database import DatabaseConfig
|
from ..database import DatabaseConfig
|
||||||
|
|
||||||
loop = asyncio.get_event_loop()
|
loop = asyncio.get_event_loop()
|
||||||
|
@ -41,19 +41,7 @@ class TelegramBot(GenericBot):
|
||||||
alchemy = self.alchemy
|
alchemy = self.alchemy
|
||||||
|
|
||||||
async def reply(call, text: str):
|
async def reply(call, text: str):
|
||||||
escaped_text = text.replace("<", "<") \
|
await asyncify(call.channel.send_message, telegram_escape(text), parse_mode="HTML")
|
||||||
.replace(">", ">") \
|
|
||||||
.replace("[b]", "<b>") \
|
|
||||||
.replace("[/b]", "</b>") \
|
|
||||||
.replace("[i]", "<i>") \
|
|
||||||
.replace("[/i]", "</i>") \
|
|
||||||
.replace("[u]", "<b>") \
|
|
||||||
.replace("[/u]", "</b>") \
|
|
||||||
.replace("[c]", "<code>") \
|
|
||||||
.replace("[/c]", "</code>") \
|
|
||||||
.replace("[p]", "<pre>") \
|
|
||||||
.replace("[/p]", "</pre>")
|
|
||||||
await asyncify(call.channel.send_message, escaped_text, parse_mode="HTML")
|
|
||||||
|
|
||||||
async def net_request(call, request: Request, destination: str) -> dict:
|
async def net_request(call, request: Request, destination: str) -> dict:
|
||||||
if self.network is None:
|
if self.network is None:
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
"""Miscellaneous useful functions and classes."""
|
"""Miscellaneous useful functions and classes."""
|
||||||
|
|
||||||
from .asyncify import asyncify
|
from .asyncify import asyncify
|
||||||
|
from .escaping import telegram_escape, discord_escape
|
||||||
from .call import Call
|
from .call import Call
|
||||||
from .command import Command
|
from .command import Command
|
||||||
from .commandargs import CommandArgs
|
from .commandargs import CommandArgs
|
||||||
|
|
29
royalnet/utils/escaping.py
Normal file
29
royalnet/utils/escaping.py
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
def discord_escape(string: str) -> str:
|
||||||
|
return string.replace("*", "\\*") \
|
||||||
|
.replace("_", "\\_") \
|
||||||
|
.replace("`", "\\`") \
|
||||||
|
.replace("[b]", "**") \
|
||||||
|
.replace("[/b]", "**") \
|
||||||
|
.replace("[i]", "_") \
|
||||||
|
.replace("[/i]", "_") \
|
||||||
|
.replace("[u]", "__") \
|
||||||
|
.replace("[/u]", "__") \
|
||||||
|
.replace("[c]", "`") \
|
||||||
|
.replace("[/c]", "`") \
|
||||||
|
.replace("[p]", "```") \
|
||||||
|
.replace("[/p]", "```")
|
||||||
|
|
||||||
|
|
||||||
|
def telegram_escape(string: str) -> str:
|
||||||
|
return string.replace("<", "<") \
|
||||||
|
.replace(">", ">") \
|
||||||
|
.replace("[b]", "<b>") \
|
||||||
|
.replace("[/b]", "</b>") \
|
||||||
|
.replace("[i]", "<i>") \
|
||||||
|
.replace("[/i]", "</i>") \
|
||||||
|
.replace("[u]", "<b>") \
|
||||||
|
.replace("[/u]", "</b>") \
|
||||||
|
.replace("[c]", "<code>") \
|
||||||
|
.replace("[/c]", "</code>") \
|
||||||
|
.replace("[p]", "<pre>") \
|
||||||
|
.replace("[/p]", "</pre>")
|
Loading…
Reference in a new issue