RcGcDb/extensions/base/rcgcdb.py

29 lines
1.4 KiB
Python
Raw Permalink Normal View History

2022-08-31 12:30:41 +00:00
import json
from src.discord.message import DiscordMessage
from src.api import formatter
from src.api.context import Context
2022-10-29 15:04:25 +00:00
from src.api.util import embed_helper, compact_author, sanitize_to_markdown
2022-08-31 12:30:41 +00:00
@formatter.embed(event="generic")
def embed_generic(ctx: Context, change: dict):
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
2022-08-31 12:30:41 +00:00
embed_helper(ctx, embed, change)
embed["title"] = ctx._("Unknown event `{event}`").format( event=ctx.event)
2022-10-29 15:04:25 +00:00
embed["url"] = ctx.client.create_article_path("Special:RecentChanges")
2023-10-10 21:47:44 +00:00
change_params = "{support}\n```json\n{params}\n```".format(params=json.dumps(change, indent=2),
2022-08-31 12:30:41 +00:00
support=ctx.settings["support"])
if len(change_params) > 1000:
embed.add_field(ctx._("Report this on the support server"), ctx.settings["support"])
2022-08-31 12:30:41 +00:00
else:
embed.add_field(ctx._("Report this on the support server"), change_params)
2022-08-31 12:30:41 +00:00
return embed
@formatter.compact(event="generic")
def compact_generic(ctx: Context, change: dict):
author, author_url = compact_author(ctx, change)
content = ctx._("Unknown event `{event}` by [{author}]({author_url}), report it on the [support server](<{support}>).").format(
event=ctx.event, author=author, support=ctx.settings["support"], author_url=author_url)
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)