mirror of
https://github.com/RYGhub/royalnet.git
synced 2024-11-23 19:44:20 +00:00
Create dateparser command
This commit is contained in:
parent
6b4f39428b
commit
094a961b51
4 changed files with 27 additions and 4 deletions
|
@ -4,3 +4,4 @@ pytest>=4.3.1
|
||||||
psycopg2-binary>=2.8
|
psycopg2-binary>=2.8
|
||||||
aiohttp>=3.5.4
|
aiohttp>=3.5.4
|
||||||
Markdown>=3.1
|
Markdown>=3.1
|
||||||
|
dateparser>=0.7.1
|
||||||
|
|
|
@ -3,7 +3,8 @@ import asyncio
|
||||||
from royalnet.bots import TelegramBot
|
from royalnet.bots import TelegramBot
|
||||||
from royalnet.commands import PingCommand, ShipCommand, SmecdsCommand, ColorCommand, CiaoruoziCommand, SyncCommand, DiarioCommand, RageCommand
|
from royalnet.commands import PingCommand, ShipCommand, SmecdsCommand, ColorCommand, CiaoruoziCommand, SyncCommand, DiarioCommand, RageCommand
|
||||||
from royalnet.commands.debug_create import DebugCreateCommand
|
from royalnet.commands.debug_create import DebugCreateCommand
|
||||||
from royalnet.commands.debug_author import DebugAuthorCommand
|
from royalnet.commands.author import AuthorCommand
|
||||||
|
from royalnet.commands.dateparser import DateparserCommand
|
||||||
from royalnet.commands.error_handler import ErrorHandlerCommand
|
from royalnet.commands.error_handler import ErrorHandlerCommand
|
||||||
from royalnet.network import RoyalnetServer
|
from royalnet.network import RoyalnetServer
|
||||||
from royalnet.database.tables import Royal, Telegram
|
from royalnet.database.tables import Royal, Telegram
|
||||||
|
@ -11,7 +12,7 @@ from royalnet.database.tables import Royal, Telegram
|
||||||
loop = asyncio.get_event_loop()
|
loop = asyncio.get_event_loop()
|
||||||
|
|
||||||
commands = [PingCommand, ShipCommand, SmecdsCommand, ColorCommand, CiaoruoziCommand, DebugCreateCommand, SyncCommand,
|
commands = [PingCommand, ShipCommand, SmecdsCommand, ColorCommand, CiaoruoziCommand, DebugCreateCommand, SyncCommand,
|
||||||
DebugAuthorCommand, DiarioCommand, RageCommand]
|
AuthorCommand, DiarioCommand, RageCommand, DateparserCommand]
|
||||||
|
|
||||||
master = RoyalnetServer("localhost", 1234, "sas")
|
master = RoyalnetServer("localhost", 1234, "sas")
|
||||||
tg_bot = TelegramBot(os.environ["TG_AK"], "localhost:1234", "sas", commands, os.environ["DB_PATH"], Royal, Telegram, "tg_id", error_command=ErrorHandlerCommand)
|
tg_bot = TelegramBot(os.environ["TG_AK"], "localhost:1234", "sas", commands, os.environ["DB_PATH"], Royal, Telegram, "tg_id", error_command=ErrorHandlerCommand)
|
||||||
|
|
|
@ -2,9 +2,9 @@ from ..utils import Command, Call
|
||||||
from ..database.tables import Royal, Telegram
|
from ..database.tables import Royal, Telegram
|
||||||
|
|
||||||
|
|
||||||
class DebugAuthorCommand(Command):
|
class AuthorCommand(Command):
|
||||||
|
|
||||||
command_name = "debug_author"
|
command_name = "author"
|
||||||
command_description = "Ottieni informazioni sull'autore di questa chiamata."
|
command_description = "Ottieni informazioni sull'autore di questa chiamata."
|
||||||
command_syntax = ""
|
command_syntax = ""
|
||||||
|
|
21
royalnet/commands/dateparser.py
Normal file
21
royalnet/commands/dateparser.py
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
import datetime
|
||||||
|
import dateparser
|
||||||
|
from ..utils import Command, Call, InvalidInputError
|
||||||
|
|
||||||
|
|
||||||
|
class DateparserCommand(Command):
|
||||||
|
|
||||||
|
command_name = "dateparser"
|
||||||
|
command_description = "Legge e comprende la data inserita."
|
||||||
|
command_syntax = "(data)"
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
async def common(cls, call: Call):
|
||||||
|
if len(call.args) == 0:
|
||||||
|
raise InvalidInputError("Missing arg")
|
||||||
|
text = " ".join(call.args)
|
||||||
|
date: datetime.datetime = dateparser.parse(text)
|
||||||
|
if date is None:
|
||||||
|
await call.reply("🕕 La data inserita non è valida.")
|
||||||
|
return
|
||||||
|
await call.reply(f"🕐 La data inserita è {date.isoformat()}")
|
Loading…
Reference in a new issue