mirror of
https://gitlab.com/chicken-riders/RcGcDb.git
synced 2025-02-23 00:54:09 +00:00
Fixes that allowed to start RcGcDb
This commit is contained in:
parent
08710b32b9
commit
a947971858
|
@ -18,10 +18,12 @@ import logging
|
||||||
from src.discord.message import DiscordMessage
|
from src.discord.message import DiscordMessage
|
||||||
from src.api import formatter
|
from src.api import formatter
|
||||||
from src.api.context import Context
|
from src.api.context import Context
|
||||||
from src.api.util import embed_helper, sanitize_to_url, parse_mediawiki_changes, clean_link, compact_author, \
|
from src.api.util import embed_helper, sanitize_to_url, parse_mediawiki_changes, clean_link, compact_author, sanitize_to_markdown
|
||||||
create_article_path, sanitize_to_markdown
|
|
||||||
|
|
||||||
abusefilter_translatable = lambda string, _, default: {"edit": _("Edit"), "upload": _("Upload"), "move": _("Move"), "stashupload": _("Stash upload"), "delete": _("Deletion"), "createaccount": _("Account creation"), "autocreateaccount": _("Auto account creation"), "": _("None"), "warn": _("Warning issued"), "block": _("**Blocked user**"), "tag": _("Tagged the edit"), "disallow": _("Disallowed the action"), "rangeblock": _("**IP range blocked**"), "throttle": _("Throttled actions"), "blockautopromote": _("Removed autoconfirmed group"), "degroup": _("**Removed from privileged groups**")}.get(string, default)
|
# Order results from most drastic first to less drastic last
|
||||||
|
abuselog_results = ["degroup", "blockautopromote", "rangeblock", "block", "disallow", "throttle", "warn", "tag", ""]
|
||||||
|
abusefilter_results = lambda string, _, default: {"degroup": _("**Removed from privileged groups**"), "blockautopromote": _("Removed autoconfirmed group"), "rangeblock": _("**IP range blocked**"), "block": _("**Blocked user**"), "disallow": _("Disallowed the action"), "throttle": _("Throttled actions"), "warn": _("Warning issued"), "tag": _("Tagged the edit"), "": _("None")}.get(string, default)
|
||||||
|
abusefilter_actions = lambda string, _, default: {"edit": _("Edit"), "upload": _("Upload"), "move": _("Move"), "stashupload": _("Stash upload"), "delete": _("Deletion"), "createaccount": _("Account creation"), "autocreateaccount": _("Auto account creation")}.get(string, default)
|
||||||
|
|
||||||
logger = logging.getLogger("extensions.base")
|
logger = logging.getLogger("extensions.base")
|
||||||
|
|
||||||
|
@ -29,6 +31,15 @@ logger = logging.getLogger("extensions.base")
|
||||||
# Processing Abuselog LOG events, separate from RC logs
|
# Processing Abuselog LOG events, separate from RC logs
|
||||||
|
|
||||||
|
|
||||||
|
def abuselog_action(results):
|
||||||
|
action = "unknown"
|
||||||
|
for result in abuselog_results:
|
||||||
|
if result in results:
|
||||||
|
action = "abuselog/{}".format(result)
|
||||||
|
break
|
||||||
|
return action
|
||||||
|
|
||||||
|
|
||||||
def abuse_filter_format_user(change, settings):
|
def abuse_filter_format_user(change, settings):
|
||||||
author = change["user"]
|
author = change["user"]
|
||||||
if settings.get("hide_ips", False):
|
if settings.get("hide_ips", False):
|
||||||
|
@ -43,36 +54,38 @@ def abuse_filter_format_user(change, settings):
|
||||||
|
|
||||||
@formatter.embed(event="abuselog")
|
@formatter.embed(event="abuselog")
|
||||||
def embed_abuselog(ctx: Context, change: dict):
|
def embed_abuselog(ctx: Context, change: dict):
|
||||||
action = "abuselog/{}".format(change["result"])
|
results = change["result"].split(",")
|
||||||
embed = DiscordMessage(ctx.message_type, action)
|
action = abuselog_action(results)
|
||||||
|
embed = DiscordMessage(ctx.message_type, action, ctx.webhook_url)
|
||||||
author = abuse_filter_format_user(change, ctx.settings)
|
author = abuse_filter_format_user(change, ctx.settings)
|
||||||
embed["title"] = ctx._("{user} triggered \"{abuse_filter}\"").format(user=author, abuse_filter=sanitize_to_markdown(change["filter"]))
|
embed["title"] = ctx._("{user} triggered \"{abuse_filter}\"").format(user=author, abuse_filter=sanitize_to_markdown(change["filter"]))
|
||||||
embed.add_field(ctx._("Performed"), abusefilter_translatable(change["action"], ctx._, ctx._("Unknown")))
|
embed.add_field(ctx._("Performed"), abusefilter_actions(change["action"], ctx._, change["action"]))
|
||||||
embed.add_field(ctx._("Action taken"), abusefilter_translatable(change["result"], ctx._, ctx._("Unknown")))
|
|
||||||
embed.add_field(ctx._("Title"), sanitize_to_markdown(change.get("title", ctx._("Unknown"))))
|
embed.add_field(ctx._("Title"), sanitize_to_markdown(change.get("title", ctx._("Unknown"))))
|
||||||
|
embed.add_field(ctx._("Action taken"), ctx._(", ").join([abusefilter_results(result, ctx._, result) for result in results]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
|
||||||
@formatter.compact(event="abuselog")
|
@formatter.compact(event="abuselog")
|
||||||
def compact_abuselog(ctx: Context, change: dict):
|
def compact_abuselog(ctx: Context, change: dict):
|
||||||
action = "abuselog/{}".format(change["result"])
|
results = change["result"].split(",")
|
||||||
author_url = clean_link(create_article_path("User:{user}".format(user=change["user"])))
|
action = abuselog_action(results)
|
||||||
|
author_url = clean_link(ctx.client.create_article_path("User:{user}".format(user=change["user"])))
|
||||||
author = abuse_filter_format_user(change, ctx.settings)
|
author = abuse_filter_format_user(change, ctx.settings)
|
||||||
message = ctx._("[{author}]({author_url}) triggered *{abuse_filter}*, performing the action \"{action}\" on *[{target}]({target_url})* - action taken: {result}.").format(
|
message = ctx._("[{author}]({author_url}) triggered *{abuse_filter}*, performing the action \"{action}\" on *[{target}]({target_url})* - action taken: {result}.").format(
|
||||||
author=author, author_url=author_url, abuse_filter=sanitize_to_markdown(change["filter"]),
|
author=author, author_url=author_url, abuse_filter=sanitize_to_markdown(change["filter"]),
|
||||||
action=abusefilter_translatable(change["action"], ctx._, ctx._("Unknown")), target=change.get("title", ctx._("Unknown")),
|
action=abusefilter_actions(change["action"], ctx._, change["action"]), target=change.get("title", ctx._("Unknown")),
|
||||||
target_url=clean_link(create_article_path(sanitize_to_url(change.get("title", ctx._("Unknown"))))),
|
target_url=clean_link(ctx.client.create_article_path(sanitize_to_url(change.get("title", ctx._("Unknown"))))),
|
||||||
result=abusefilter_translatable(change["result"], ctx._, ctx._("Unknown")))
|
result=ctx._(", ").join([abusefilter_results(result, ctx._, result) for result in results]))
|
||||||
return DiscordMessage(ctx.message_type, action, content=message)
|
return DiscordMessage(ctx.message_type, action, ctx.webhook_url, content=message)
|
||||||
|
|
||||||
# abusefilter/modify - AbuseFilter filter modification
|
# abusefilter/modify - AbuseFilter filter modification
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="abusefilter/modify")
|
@formatter.embed(event="abusefilter/modify")
|
||||||
def embed_abuselog_modify(ctx: Context, change: dict):
|
def embed_abuselog_modify(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(
|
embed["url"] = ctx.client.create_article_path(
|
||||||
"Special:AbuseFilter/history/{number}/diff/prev/{historyid}".format(number=change["logparams"]['newId'],
|
"Special:AbuseFilter/history/{number}/diff/prev/{historyid}".format(number=change["logparams"]['newId'],
|
||||||
historyid=change["logparams"]["historyId"]))
|
historyid=change["logparams"]["historyId"]))
|
||||||
embed["title"] = ctx._("Edited abuse filter number {number}").format(number=change["logparams"]['newId'])
|
embed["title"] = ctx._("Edited abuse filter number {number}").format(number=change["logparams"]['newId'])
|
||||||
|
@ -82,7 +95,7 @@ def embed_abuselog_modify(ctx: Context, change: dict):
|
||||||
@formatter.compact(event="abusefilter/modify")
|
@formatter.compact(event="abusefilter/modify")
|
||||||
def compact_abuselog_modify(ctx: Context, change: dict):
|
def compact_abuselog_modify(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path(
|
link = clean_link(ctx.client.create_article_path(
|
||||||
"Special:AbuseFilter/history/{number}/diff/prev/{historyid}".format(number=change["logparams"]['newId'],
|
"Special:AbuseFilter/history/{number}/diff/prev/{historyid}".format(number=change["logparams"]['newId'],
|
||||||
historyid=change["logparams"][
|
historyid=change["logparams"][
|
||||||
"historyId"])))
|
"historyId"])))
|
||||||
|
@ -93,16 +106,16 @@ def compact_abuselog_modify(ctx: Context, change: dict):
|
||||||
"logparams"][
|
"logparams"][
|
||||||
'newId'],
|
'newId'],
|
||||||
filter_url=link)
|
filter_url=link)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# abusefilter/create - AbuseFilter filter creation
|
# abusefilter/create - AbuseFilter filter creation
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="abusefilter/create")
|
@formatter.embed(event="abusefilter/create")
|
||||||
def embed_abuselog_create(ctx: Context, change: dict):
|
def embed_abuselog_create(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path("Special:AbuseFilter/{number}".format(number=change["logparams"]['newId']))
|
embed["url"] = ctx.client.create_article_path("Special:AbuseFilter/{number}".format(number=change["logparams"]['newId']))
|
||||||
embed["title"] = ctx._("Created abuse filter number {number}").format(number=change["logparams"]['newId'])
|
embed["title"] = ctx._("Created abuse filter number {number}").format(number=change["logparams"]['newId'])
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -111,11 +124,11 @@ def embed_abuselog_create(ctx: Context, change: dict):
|
||||||
def compact_abuselog_create(ctx: Context, change: dict):
|
def compact_abuselog_create(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(
|
link = clean_link(
|
||||||
create_article_path("Special:AbuseFilter/{number}".format(number=change["logparams"]['newId'])))
|
ctx.client.create_article_path("Special:AbuseFilter/{number}".format(number=change["logparams"]['newId'])))
|
||||||
content = ctx._("[{author}]({author_url}) created abuse filter [number {number}]({filter_url})").format(author=author,
|
content = ctx._("[{author}]({author_url}) created abuse filter [number {number}]({filter_url})").format(author=author,
|
||||||
author_url=author_url,
|
author_url=author_url,
|
||||||
number=change[
|
number=change[
|
||||||
"logparams"][
|
"logparams"][
|
||||||
'newId'],
|
'newId'],
|
||||||
filter_url=link)
|
filter_url=link)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
|
@ -18,14 +18,14 @@ import re
|
||||||
from src.discord.message import DiscordMessage
|
from src.discord.message import DiscordMessage
|
||||||
from src.api import formatter
|
from src.api import formatter
|
||||||
from src.api.context import Context
|
from src.api.context import Context
|
||||||
from src.api.util import embed_helper, compact_author, create_article_path, sanitize_to_markdown
|
from src.api.util import embed_helper, compact_author, sanitize_to_markdown
|
||||||
|
|
||||||
# Cargo - https://www.mediawiki.org/wiki/Extension:Cargo
|
# Cargo - https://www.mediawiki.org/wiki/Extension:Cargo
|
||||||
# cargo/createtable - Creation of Cargo table
|
# cargo/createtable - Creation of Cargo table
|
||||||
|
|
||||||
@formatter.embed(event="cargo/createtable")
|
@formatter.embed(event="cargo/createtable")
|
||||||
def embed_cargo_createtable(ctx: Context, change: dict):
|
def embed_cargo_createtable(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
table = re.search(r"\[(.*?)]\(<(.*?)>\)", ctx.client.parse_links(change["logparams"]["0"]))
|
table = re.search(r"\[(.*?)]\(<(.*?)>\)", ctx.client.parse_links(change["logparams"]["0"]))
|
||||||
embed["url"] = table.group(2)
|
embed["url"] = table.group(2)
|
||||||
|
@ -40,7 +40,7 @@ def compact_cargo_createtable(ctx: Context, change: dict):
|
||||||
content = ctx._("[{author}]({author_url}) created the Cargo table \"{table}\"").format(author=author,
|
content = ctx._("[{author}]({author_url}) created the Cargo table \"{table}\"").format(author=author,
|
||||||
author_url=author_url,
|
author_url=author_url,
|
||||||
table=table)
|
table=table)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# cargo/recreatetable - Recreating a Cargo table
|
# cargo/recreatetable - Recreating a Cargo table
|
||||||
|
@ -48,7 +48,7 @@ def compact_cargo_createtable(ctx: Context, change: dict):
|
||||||
|
|
||||||
@formatter.embed(event="cargo/recreatetable")
|
@formatter.embed(event="cargo/recreatetable")
|
||||||
def embed_cargo_recreatetable(ctx: Context, change: dict):
|
def embed_cargo_recreatetable(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
table = re.search(r"\[(.*?)]\(<(.*?)>\)", ctx.client.parse_links(change["logparams"]["0"]))
|
table = re.search(r"\[(.*?)]\(<(.*?)>\)", ctx.client.parse_links(change["logparams"]["0"]))
|
||||||
embed["url"] = table.group(2)
|
embed["url"] = table.group(2)
|
||||||
|
@ -63,7 +63,7 @@ def compact_cargo_recreatetable(ctx: Context, change: dict):
|
||||||
content = ctx._("[{author}]({author_url}) recreated the Cargo table \"{table}\"").format(author=author,
|
content = ctx._("[{author}]({author_url}) recreated the Cargo table \"{table}\"").format(author=author,
|
||||||
author_url=author_url,
|
author_url=author_url,
|
||||||
table=table)
|
table=table)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# cargo/replacetable - Replacing a Cargo table
|
# cargo/replacetable - Replacing a Cargo table
|
||||||
|
@ -71,7 +71,7 @@ def compact_cargo_recreatetable(ctx: Context, change: dict):
|
||||||
|
|
||||||
@formatter.embed(event="cargo/replacetable")
|
@formatter.embed(event="cargo/replacetable")
|
||||||
def embed_cargo_replacetable(ctx: Context, change: dict):
|
def embed_cargo_replacetable(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
table = re.search(r"\[(.*?)]\(<(.*?)>\)", ctx.client.parse_links(change["logparams"]["0"]))
|
table = re.search(r"\[(.*?)]\(<(.*?)>\)", ctx.client.parse_links(change["logparams"]["0"]))
|
||||||
embed["url"] = table.group(2)
|
embed["url"] = table.group(2)
|
||||||
|
@ -86,7 +86,7 @@ def compact_cargo_replacetable(ctx: Context, change: dict):
|
||||||
content = ctx._("[{author}]({author_url}) replaced the Cargo table \"{table}\"").format(author=author,
|
content = ctx._("[{author}]({author_url}) replaced the Cargo table \"{table}\"").format(author=author,
|
||||||
author_url=author_url,
|
author_url=author_url,
|
||||||
table=table)
|
table=table)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# cargo/deletetable - Deleting a table in Cargo
|
# cargo/deletetable - Deleting a table in Cargo
|
||||||
|
@ -94,9 +94,9 @@ def compact_cargo_replacetable(ctx: Context, change: dict):
|
||||||
|
|
||||||
@formatter.embed(event="cargo/deletetable")
|
@formatter.embed(event="cargo/deletetable")
|
||||||
def embed_cargo_deletetable(ctx: Context, change: dict):
|
def embed_cargo_deletetable(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path("Special:CargoTables")
|
embed["url"] = ctx.client.create_article_path("Special:CargoTables")
|
||||||
embed["title"] = ctx._("Deleted the Cargo table \"{table}\"").format(table=sanitize_to_markdown(change["logparams"]["0"]))
|
embed["title"] = ctx._("Deleted the Cargo table \"{table}\"").format(table=sanitize_to_markdown(change["logparams"]["0"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -107,4 +107,4 @@ def compact_cargo_deletetable(ctx: Context, change: dict):
|
||||||
content = ctx._("[{author}]({author_url}) deleted the Cargo table \"{table}\"").format(author=author,
|
content = ctx._("[{author}]({author_url}) deleted the Cargo table \"{table}\"").format(author=author,
|
||||||
author_url=author_url,
|
author_url=author_url,
|
||||||
table=sanitize_to_markdown(change["logparams"]["0"]))
|
table=sanitize_to_markdown(change["logparams"]["0"]))
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
|
@ -18,7 +18,7 @@ import logging
|
||||||
from src.discord.message import DiscordMessage
|
from src.discord.message import DiscordMessage
|
||||||
from src.api import formatter
|
from src.api import formatter
|
||||||
from src.api.context import Context
|
from src.api.context import Context
|
||||||
from src.api.util import embed_helper, clean_link, compact_author, create_article_path, sanitize_to_markdown, sanitize_to_url
|
from src.api.util import embed_helper, clean_link, compact_author, sanitize_to_markdown, sanitize_to_url
|
||||||
from src.misc import profile_field_name
|
from src.misc import profile_field_name
|
||||||
|
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ from src.misc import profile_field_name
|
||||||
|
|
||||||
@formatter.embed(event="curseprofile/profile-edited")
|
@formatter.embed(event="curseprofile/profile-edited")
|
||||||
def embed_curseprofile_profile_edited(ctx: Context, change: dict) -> DiscordMessage:
|
def embed_curseprofile_profile_edited(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
target_user = change["title"].split(':', 1)[1]
|
target_user = change["title"].split(':', 1)[1]
|
||||||
if target_user != change["user"]:
|
if target_user != change["user"]:
|
||||||
|
@ -39,7 +39,7 @@ def embed_curseprofile_profile_edited(ctx: Context, change: dict) -> DiscordMess
|
||||||
embed["description"] = ctx._("Cleared the {field} field").format(field=profile_field_name(change["logparams"]['4:section'], True))
|
embed["description"] = ctx._("Cleared the {field} field").format(field=profile_field_name(change["logparams"]['4:section'], True))
|
||||||
else:
|
else:
|
||||||
embed["description"] = ctx._("{field} field changed to: {desc}").format(field=profile_field_name(change["logparams"]['4:section'], True), desc=ctx.parsedcomment)
|
embed["description"] = ctx._("{field} field changed to: {desc}").format(field=profile_field_name(change["logparams"]['4:section'], True), desc=ctx.parsedcomment)
|
||||||
embed["url"] = create_article_path("UserProfile:" + sanitize_to_url(target_user))
|
embed["url"] = ctx.client.create_article_path("UserProfile:" + sanitize_to_url(target_user))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ def embed_curseprofile_profile_edited(ctx: Context, change: dict) -> DiscordMess
|
||||||
def compact_curseprofile_profile_edited(ctx: Context, change: dict) -> DiscordMessage:
|
def compact_curseprofile_profile_edited(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
target_user = change["title"].split(':', 1)[1]
|
target_user = change["title"].split(':', 1)[1]
|
||||||
link = clean_link(create_article_path("UserProfile:" + sanitize_to_url(target_user)))
|
link = clean_link(ctx.client.create_article_path("UserProfile:" + sanitize_to_url(target_user)))
|
||||||
if target_user != author:
|
if target_user != author:
|
||||||
if ctx.parsedcomment is None: # If the field is empty
|
if ctx.parsedcomment is None: # If the field is empty
|
||||||
edit_clear_message = ctx._("[{author}]({author_url}) cleared the {field} on [{target}]({target_url})'s profile.")
|
edit_clear_message = ctx._("[{author}]({author_url}) cleared the {field} on [{target}]({target_url})'s profile.")
|
||||||
|
@ -62,7 +62,7 @@ def compact_curseprofile_profile_edited(ctx: Context, change: dict) -> DiscordMe
|
||||||
edit_clear_message = ctx._("[{author}]({author_url}) edited the {field} on [their own]({target_url}) profile. *({desc})*")
|
edit_clear_message = ctx._("[{author}]({author_url}) edited the {field} on [their own]({target_url}) profile. *({desc})*")
|
||||||
content = edit_clear_message.format(author=author, author_url=author_url, target_url=link,
|
content = edit_clear_message.format(author=author, author_url=author_url, target_url=link,
|
||||||
field=profile_field_name(change["logparams"]['4:section'], False), desc=ctx.parsedcomment)
|
field=profile_field_name(change["logparams"]['4:section'], False), desc=ctx.parsedcomment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# curseprofile/comment-created - Creating comment on user profile
|
# curseprofile/comment-created - Creating comment on user profile
|
||||||
|
@ -70,7 +70,7 @@ def compact_curseprofile_profile_edited(ctx: Context, change: dict) -> DiscordMe
|
||||||
|
|
||||||
@formatter.embed(event="curseprofile/comment-created")
|
@formatter.embed(event="curseprofile/comment-created")
|
||||||
def embed_curseprofile_comment_created(ctx: Context, change: dict) -> DiscordMessage:
|
def embed_curseprofile_comment_created(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
target_user = change["title"].split(':', 1)[1]
|
target_user = change["title"].split(':', 1)[1]
|
||||||
if target_user != change["user"]:
|
if target_user != change["user"]:
|
||||||
|
@ -79,7 +79,7 @@ def embed_curseprofile_comment_created(ctx: Context, change: dict) -> DiscordMes
|
||||||
embed["title"] = ctx._("Left a comment on their own profile")
|
embed["title"] = ctx._("Left a comment on their own profile")
|
||||||
if ctx.settings["appearance"]["embed"]["show_edit_changes"]:
|
if ctx.settings["appearance"]["embed"]["show_edit_changes"]:
|
||||||
embed["description"] = ctx.client.pull_curseprofile_comment(change["logparams"]["4:comment_id"])
|
embed["description"] = ctx.client.pull_curseprofile_comment(change["logparams"]["4:comment_id"])
|
||||||
embed["url"] = create_article_path("Special:CommentPermalink/{commentid}".format(commentid=change["logparams"]["4:comment_id"]))
|
embed["url"] = ctx.client.create_article_path("Special:CommentPermalink/{commentid}".format(commentid=change["logparams"]["4:comment_id"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
|
||||||
|
@ -87,13 +87,13 @@ def embed_curseprofile_comment_created(ctx: Context, change: dict) -> DiscordMes
|
||||||
def compact_curseprofile_comment_created(ctx: Context, change: dict) -> DiscordMessage:
|
def compact_curseprofile_comment_created(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
target_user = change["title"].split(':', 1)[1]
|
target_user = change["title"].split(':', 1)[1]
|
||||||
link = clean_link(create_article_path("Special:CommentPermalink/{commentid}".format(commentid=change["logparams"]["4:comment_id"])))
|
link = clean_link(ctx.client.create_article_path("Special:CommentPermalink/{commentid}".format(commentid=change["logparams"]["4:comment_id"])))
|
||||||
if target_user != author:
|
if target_user != author:
|
||||||
content = ctx._("[{author}]({author_url}) left a [comment]({comment}) on {target}'s profile.").format(
|
content = ctx._("[{author}]({author_url}) left a [comment]({comment}) on {target}'s profile.").format(
|
||||||
author=author, author_url=author_url, comment=link, target=sanitize_to_markdown(target_user))
|
author=author, author_url=author_url, comment=link, target=sanitize_to_markdown(target_user))
|
||||||
else:
|
else:
|
||||||
content = ctx._("[{author}]({author_url}) left a [comment]({comment}) on their own profile.").format(author=author, author_url=author_url, comment=link)
|
content = ctx._("[{author}]({author_url}) left a [comment]({comment}) on their own profile.").format(author=author, author_url=author_url, comment=link)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# curseprofile/comment-edited - Editing comment on user profile
|
# curseprofile/comment-edited - Editing comment on user profile
|
||||||
|
@ -101,7 +101,7 @@ def compact_curseprofile_comment_created(ctx: Context, change: dict) -> DiscordM
|
||||||
|
|
||||||
@formatter.embed(event="curseprofile/comment-edited")
|
@formatter.embed(event="curseprofile/comment-edited")
|
||||||
def embed_curseprofile_comment_edited(ctx: Context, change: dict) -> DiscordMessage:
|
def embed_curseprofile_comment_edited(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
target_user = change["title"].split(':', 1)[1]
|
target_user = change["title"].split(':', 1)[1]
|
||||||
if target_user != change["user"]:
|
if target_user != change["user"]:
|
||||||
|
@ -110,7 +110,7 @@ def embed_curseprofile_comment_edited(ctx: Context, change: dict) -> DiscordMess
|
||||||
embed["title"] = ctx._("Edited a comment on their own profile")
|
embed["title"] = ctx._("Edited a comment on their own profile")
|
||||||
if ctx.settings["appearance"]["embed"]["show_edit_changes"]:
|
if ctx.settings["appearance"]["embed"]["show_edit_changes"]:
|
||||||
embed["description"] = ctx.client.pull_curseprofile_comment(change["logparams"]["4:comment_id"])
|
embed["description"] = ctx.client.pull_curseprofile_comment(change["logparams"]["4:comment_id"])
|
||||||
embed["url"] = create_article_path("Special:CommentPermalink/{commentid}".format(commentid=change["logparams"]["4:comment_id"]))
|
embed["url"] = ctx.client.create_article_path("Special:CommentPermalink/{commentid}".format(commentid=change["logparams"]["4:comment_id"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
|
||||||
|
@ -118,13 +118,13 @@ def embed_curseprofile_comment_edited(ctx: Context, change: dict) -> DiscordMess
|
||||||
def compact_curseprofile_comment_edited(ctx: Context, change: dict) -> DiscordMessage:
|
def compact_curseprofile_comment_edited(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
target_user = change["title"].split(':', 1)[1]
|
target_user = change["title"].split(':', 1)[1]
|
||||||
link = clean_link(create_article_path("Special:CommentPermalink/{commentid}".format(commentid=change["logparams"]["4:comment_id"])))
|
link = clean_link(ctx.client.create_article_path("Special:CommentPermalink/{commentid}".format(commentid=change["logparams"]["4:comment_id"])))
|
||||||
if target_user != author:
|
if target_user != author:
|
||||||
content = ctx._("[{author}]({author_url}) edited a [comment]({comment}) on {target}'s profile.").format(
|
content = ctx._("[{author}]({author_url}) edited a [comment]({comment}) on {target}'s profile.").format(
|
||||||
author=author, author_url=author_url, comment=link, target=sanitize_to_markdown(target_user))
|
author=author, author_url=author_url, comment=link, target=sanitize_to_markdown(target_user))
|
||||||
else:
|
else:
|
||||||
content = ctx._("[{author}]({author_url}) edited a [comment]({comment}) on their own profile.").format(author=author, author_url=author_url, comment=link)
|
content = ctx._("[{author}]({author_url}) edited a [comment]({comment}) on their own profile.").format(author=author, author_url=author_url, comment=link)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# curseprofile/comment-replied - Replying to comment on user profile
|
# curseprofile/comment-replied - Replying to comment on user profile
|
||||||
|
@ -132,7 +132,7 @@ def compact_curseprofile_comment_edited(ctx: Context, change: dict) -> DiscordMe
|
||||||
|
|
||||||
@formatter.embed(event="curseprofile/comment-replied")
|
@formatter.embed(event="curseprofile/comment-replied")
|
||||||
def embed_curseprofile_comment_replied(ctx: Context, change: dict) -> DiscordMessage:
|
def embed_curseprofile_comment_replied(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
target_user = change["title"].split(':', 1)[1]
|
target_user = change["title"].split(':', 1)[1]
|
||||||
if target_user != change["user"]:
|
if target_user != change["user"]:
|
||||||
|
@ -141,7 +141,7 @@ def embed_curseprofile_comment_replied(ctx: Context, change: dict) -> DiscordMes
|
||||||
embed["title"] = ctx._("Replied to a comment on their own profile")
|
embed["title"] = ctx._("Replied to a comment on their own profile")
|
||||||
if ctx.settings["appearance"]["embed"]["show_edit_changes"]:
|
if ctx.settings["appearance"]["embed"]["show_edit_changes"]:
|
||||||
embed["description"] = ctx.client.pull_curseprofile_comment(change["logparams"]["4:comment_id"])
|
embed["description"] = ctx.client.pull_curseprofile_comment(change["logparams"]["4:comment_id"])
|
||||||
embed["url"] = create_article_path("Special:CommentPermalink/{commentid}".format(commentid=change["logparams"]["4:comment_id"]))
|
embed["url"] = ctx.client.create_article_path("Special:CommentPermalink/{commentid}".format(commentid=change["logparams"]["4:comment_id"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
|
||||||
|
@ -149,13 +149,13 @@ def embed_curseprofile_comment_replied(ctx: Context, change: dict) -> DiscordMes
|
||||||
def compact_curseprofile_comment_replied(ctx: Context, change: dict) -> DiscordMessage:
|
def compact_curseprofile_comment_replied(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
target_user = change["title"].split(':', 1)[1]
|
target_user = change["title"].split(':', 1)[1]
|
||||||
link = clean_link(create_article_path("Special:CommentPermalink/{commentid}".format(commentid=change["logparams"]["4:comment_id"])))
|
link = clean_link(ctx.client.create_article_path("Special:CommentPermalink/{commentid}".format(commentid=change["logparams"]["4:comment_id"])))
|
||||||
if target_user != author:
|
if target_user != author:
|
||||||
content = ctx._("[{author}]({author_url}) replied to a [comment]({comment}) on {target}'s profile.").format(
|
content = ctx._("[{author}]({author_url}) replied to a [comment]({comment}) on {target}'s profile.").format(
|
||||||
author=author, author_url=author_url, comment=link, target=sanitize_to_markdown(target_user))
|
author=author, author_url=author_url, comment=link, target=sanitize_to_markdown(target_user))
|
||||||
else:
|
else:
|
||||||
content = ctx._("[{author}]({author_url}) replied to a [comment]({comment}) on their own profile.").format(author=author, author_url=author_url, comment=link)
|
content = ctx._("[{author}]({author_url}) replied to a [comment]({comment}) on their own profile.").format(author=author, author_url=author_url, comment=link)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# curseprofile/comment-deleted - Deleting comment on user profile
|
# curseprofile/comment-deleted - Deleting comment on user profile
|
||||||
|
@ -163,7 +163,7 @@ def compact_curseprofile_comment_replied(ctx: Context, change: dict) -> DiscordM
|
||||||
|
|
||||||
@formatter.embed(event="curseprofile/comment-deleted")
|
@formatter.embed(event="curseprofile/comment-deleted")
|
||||||
def embed_curseprofile_comment_deleted(ctx: Context, change: dict) -> DiscordMessage:
|
def embed_curseprofile_comment_deleted(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
target_user = change["title"].split(':', 1)[1]
|
target_user = change["title"].split(':', 1)[1]
|
||||||
if target_user != change["user"]:
|
if target_user != change["user"]:
|
||||||
|
@ -173,9 +173,9 @@ def embed_curseprofile_comment_deleted(ctx: Context, change: dict) -> DiscordMes
|
||||||
if ctx.parsedcomment is not None:
|
if ctx.parsedcomment is not None:
|
||||||
embed["description"] = ctx.parsedcomment
|
embed["description"] = ctx.parsedcomment
|
||||||
if "4:comment_id" in change["logparams"]:
|
if "4:comment_id" in change["logparams"]:
|
||||||
embed["url"] = create_article_path("Special:CommentPermalink/{commentid}".format(commentid=change["logparams"]["4:comment_id"]))
|
embed["url"] = ctx.client.create_article_path("Special:CommentPermalink/{commentid}".format(commentid=change["logparams"]["4:comment_id"]))
|
||||||
else:
|
else:
|
||||||
embed["url"] = create_article_path("UserProfile:" + sanitize_to_url(target_user))
|
embed["url"] = ctx.client.create_article_path("UserProfile:" + sanitize_to_url(target_user))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
|
||||||
|
@ -184,9 +184,9 @@ def compact_curseprofile_comment_deleted(ctx: Context, change: dict) -> DiscordM
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
target_user = change["title"].split(':', 1)[1]
|
target_user = change["title"].split(':', 1)[1]
|
||||||
if "4:comment_id" in change["logparams"]:
|
if "4:comment_id" in change["logparams"]:
|
||||||
link = clean_link(create_article_path("Special:CommentPermalink/{commentid}".format(commentid=change["logparams"]["4:comment_id"])))
|
link = clean_link(ctx.client.create_article_path("Special:CommentPermalink/{commentid}".format(commentid=change["logparams"]["4:comment_id"])))
|
||||||
else:
|
else:
|
||||||
link = clean_link(create_article_path("UserProfile:" + sanitize_to_url(target_user)))
|
link = clean_link(ctx.client.create_article_path("UserProfile:" + sanitize_to_url(target_user)))
|
||||||
parsed_comment = "" if ctx.parsedcomment is None else " *(" + ctx.parsedcomment + ")*"
|
parsed_comment = "" if ctx.parsedcomment is None else " *(" + ctx.parsedcomment + ")*"
|
||||||
if target_user != author:
|
if target_user != author:
|
||||||
content = ctx._("[{author}]({author_url}) deleted a [comment]({comment}) on {target}'s profile.{reason}").format(
|
content = ctx._("[{author}]({author_url}) deleted a [comment]({comment}) on {target}'s profile.{reason}").format(
|
||||||
|
@ -194,7 +194,7 @@ def compact_curseprofile_comment_deleted(ctx: Context, change: dict) -> DiscordM
|
||||||
else:
|
else:
|
||||||
content = ctx._("[{author}]({author_url}) deleted a [comment]({comment}) on their own profile.{reason}").format(
|
content = ctx._("[{author}]({author_url}) deleted a [comment]({comment}) on their own profile.{reason}").format(
|
||||||
author=author, author_url=author_url, comment=link, reason=parsed_comment)
|
author=author, author_url=author_url, comment=link, reason=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# curseprofile/comment-purged - Purging comment on user profile
|
# curseprofile/comment-purged - Purging comment on user profile
|
||||||
|
@ -202,7 +202,7 @@ def compact_curseprofile_comment_deleted(ctx: Context, change: dict) -> DiscordM
|
||||||
|
|
||||||
@formatter.embed(event="curseprofile/comment-purged")
|
@formatter.embed(event="curseprofile/comment-purged")
|
||||||
def embed_curseprofile_comment_purged(ctx: Context, change: dict) -> DiscordMessage:
|
def embed_curseprofile_comment_purged(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
target_user = change["title"].split(':', 1)[1]
|
target_user = change["title"].split(':', 1)[1]
|
||||||
if target_user != change["user"]:
|
if target_user != change["user"]:
|
||||||
|
@ -211,7 +211,7 @@ def embed_curseprofile_comment_purged(ctx: Context, change: dict) -> DiscordMess
|
||||||
embed["title"] = ctx._("Purged a comment on their own profile")
|
embed["title"] = ctx._("Purged a comment on their own profile")
|
||||||
if ctx.parsedcomment is not None:
|
if ctx.parsedcomment is not None:
|
||||||
embed["description"] = ctx.parsedcomment
|
embed["description"] = ctx.parsedcomment
|
||||||
embed["url"] = create_article_path("UserProfile:" + sanitize_to_url(target_user))
|
embed["url"] = ctx.client.create_article_path("UserProfile:" + sanitize_to_url(target_user))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
|
||||||
|
@ -219,11 +219,11 @@ def embed_curseprofile_comment_purged(ctx: Context, change: dict) -> DiscordMess
|
||||||
def compact_curseprofile_comment_purged(ctx: Context, change: dict) -> DiscordMessage:
|
def compact_curseprofile_comment_purged(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
target_user = change["title"].split(':', 1)[1]
|
target_user = change["title"].split(':', 1)[1]
|
||||||
link = clean_link(create_article_path("UserProfile:" + sanitize_to_url(target_user)))
|
link = clean_link(ctx.client.create_article_path("UserProfile:" + sanitize_to_url(target_user)))
|
||||||
parsed_comment = "" if ctx.parsedcomment is None else " *(" + ctx.parsedcomment + ")*"
|
parsed_comment = "" if ctx.parsedcomment is None else " *(" + ctx.parsedcomment + ")*"
|
||||||
if target_user != author:
|
if target_user != author:
|
||||||
content = ctx._("[{author}]({author_url}) purged a comment on [{target}]({link})'s profile.{reason}").format(
|
content = ctx._("[{author}]({author_url}) purged a comment on [{target}]({link})'s profile.{reason}").format(
|
||||||
author=author, author_url=author_url, link=link, target=sanitize_to_markdown(target_user), reason=parsed_comment)
|
author=author, author_url=author_url, link=link, target=sanitize_to_markdown(target_user), reason=parsed_comment)
|
||||||
else:
|
else:
|
||||||
content = ctx._("[{author}]({author_url}) purged a comment on [their own]({link}) profile.{reason}").format(author=author, author_url=author_url, link=link)
|
content = ctx._("[{author}]({author_url}) purged a comment on [their own]({link}) profile.{reason}").format(author=author, author_url=author_url, link=link)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content, reason=parsed_comment)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content, reason=parsed_comment)
|
||||||
|
|
|
@ -18,7 +18,7 @@ import logging
|
||||||
from src.discord.message import DiscordMessage
|
from src.discord.message import DiscordMessage
|
||||||
from src.api import formatter
|
from src.api import formatter
|
||||||
from src.api.context import Context
|
from src.api.context import Context
|
||||||
from src.api.util import embed_helper, compact_author, create_article_path, sanitize_to_markdown, sanitize_to_url, compact_summary
|
from src.api.util import embed_helper, compact_author, sanitize_to_markdown, sanitize_to_url, compact_summary
|
||||||
|
|
||||||
|
|
||||||
# DataDumps - https://www.mediawiki.org/wiki/Extension:DataDump
|
# DataDumps - https://www.mediawiki.org/wiki/Extension:DataDump
|
||||||
|
@ -27,10 +27,10 @@ from src.api.util import embed_helper, compact_author, create_article_path, sani
|
||||||
|
|
||||||
@formatter.embed(event="datadump/generate")
|
@formatter.embed(event="datadump/generate")
|
||||||
def embed_datadump_generate(ctx: Context, change: dict) -> DiscordMessage:
|
def embed_datadump_generate(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["title"] = ctx._("Generated {file} dump").format(file=change["logparams"]["filename"])
|
embed["title"] = ctx._("Generated {file} dump").format(file=change["logparams"]["filename"])
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
|
||||||
|
@ -42,17 +42,17 @@ def compact_datadump_generate(ctx: Context, change: dict):
|
||||||
author=author, author_url=author_url, file=sanitize_to_markdown(change["logparams"]["filename"]),
|
author=author, author_url=author_url, file=sanitize_to_markdown(change["logparams"]["filename"]),
|
||||||
comment=parsed_comment
|
comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# datadump/delete - Deleting a dump of a wiki
|
# datadump/delete - Deleting a dump of a wiki
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="datadump/delete")
|
@formatter.embed(event="datadump/delete")
|
||||||
def embed_datadump_delete(ctx: Context, change: dict) -> DiscordMessage:
|
def embed_datadump_delete(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["title"] = ctx._("Deleted {file} dump").format(file=sanitize_to_markdown(change["logparams"]["filename"]))
|
embed["title"] = ctx._("Deleted {file} dump").format(file=sanitize_to_markdown(change["logparams"]["filename"]))
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
|
||||||
|
@ -64,4 +64,4 @@ def compact_datadump_delete(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
author=author, author_url=author_url, file=sanitize_to_markdown(change["logparams"]["filename"]),
|
author=author, author_url=author_url, file=sanitize_to_markdown(change["logparams"]["filename"]),
|
||||||
comment=parsed_comment
|
comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
import json
|
import json
|
||||||
import datetime, logging
|
import datetime, logging
|
||||||
from urllib.parse import quote_plus
|
from urllib.parse import quote_plus
|
||||||
from src.api.util import create_article_path, clean_link, sanitize_to_markdown
|
from src.api.util import clean_link, sanitize_to_markdown
|
||||||
from src.api.context import Context
|
from src.api.context import Context
|
||||||
from src.discord.queue import send_to_discord
|
from src.discord.queue import send_to_discord
|
||||||
from src.discord.message import DiscordMessage, DiscordMessageMetadata
|
from src.discord.message import DiscordMessage, DiscordMessageMetadata
|
||||||
|
@ -137,7 +137,7 @@ def common_discussions(post: dict, embed: DiscordMessage, ctx: Context):
|
||||||
|
|
||||||
@formatter.embed(event="discussion/forum")
|
@formatter.embed(event="discussion/forum")
|
||||||
def embed_discussion_forum(ctx: Context, post: dict):
|
def embed_discussion_forum(ctx: Context, post: dict):
|
||||||
embed = DiscordMessage("embed", "discussion")
|
embed = DiscordMessage("embed", "discussion", ctx.settings["fandom_discussions"]["webhookURL"])
|
||||||
common_discussions(post, embed, ctx)
|
common_discussions(post, embed, ctx)
|
||||||
author = ctx._("unknown") # Fail safe
|
author = ctx._("unknown") # Fail safe
|
||||||
if post["createdBy"]["name"]:
|
if post["createdBy"]["name"]:
|
||||||
|
@ -181,7 +181,7 @@ def embed_discussion_forum(ctx: Context, post: dict):
|
||||||
if post["_embedded"]["thread"][0]["tags"]:
|
if post["_embedded"]["thread"][0]["tags"]:
|
||||||
tag_displayname = []
|
tag_displayname = []
|
||||||
for tag in post["_embedded"]["thread"][0]["tags"]:
|
for tag in post["_embedded"]["thread"][0]["tags"]:
|
||||||
tag_displayname.append("[{title}]({url})".format(title=tag["articleTitle"], url=create_article_path(
|
tag_displayname.append("[{title}]({url})".format(title=tag["articleTitle"], url=ctx.client.create_article_path(
|
||||||
quote_plus(tag["articleTitle"].replace(" ", "_"), "/:?=&"))))
|
quote_plus(tag["articleTitle"].replace(" ", "_"), "/:?=&"))))
|
||||||
if len(", ".join(tag_displayname)) > 1000:
|
if len(", ".join(tag_displayname)) > 1000:
|
||||||
embed.add_field(ctx.pgettext("Fandom discussions Tags/Forums", "Tags"), ctx.pgettext("Fandom discussions amount of Tags/Forums", "{} tags").format(len(post["_embedded"]["thread"][0]["tags"])))
|
embed.add_field(ctx.pgettext("Fandom discussions Tags/Forums", "Tags"), ctx.pgettext("Fandom discussions amount of Tags/Forums", "{} tags").format(len(post["_embedded"]["thread"][0]["tags"])))
|
||||||
|
@ -229,7 +229,7 @@ def compact_discussion_forum(ctx: Context, post: dict):
|
||||||
author=author, author_url=author_url, url=ctx.settings["fandom_discussions"]["wiki_url"],
|
author=author, author_url=author_url, url=ctx.settings["fandom_discussions"]["wiki_url"],
|
||||||
threadId=post["threadId"], postId=post["id"], title=post["_embedded"]["thread"][0]["title"],
|
threadId=post["threadId"], postId=post["id"], title=post["_embedded"]["thread"][0]["title"],
|
||||||
forumName=post["forumName"])
|
forumName=post["forumName"])
|
||||||
return DiscordMessage("compact", event_type, content=message)
|
return DiscordMessage("compact", event_type, ctx.webhook_url, content=message)
|
||||||
|
|
||||||
# discussion/wall - Wall posts/replies
|
# discussion/wall - Wall posts/replies
|
||||||
|
|
||||||
|
@ -244,7 +244,7 @@ def compact_author_discussions(post: dict, ctx: Context):
|
||||||
else:
|
else:
|
||||||
if post["createdBy"]["name"]:
|
if post["createdBy"]["name"]:
|
||||||
author = post["createdBy"]["name"]
|
author = post["createdBy"]["name"]
|
||||||
author_url = clean_link(create_article_path("User:{user}".format(user=author)))
|
author_url = clean_link(ctx.client.create_article_path("User:{user}".format(user=author)))
|
||||||
else:
|
else:
|
||||||
author_url = "<{url}f/u/{creatorId}>".format(url=ctx.settings["fandom_discussions"]["wiki_url"],
|
author_url = "<{url}f/u/{creatorId}>".format(url=ctx.settings["fandom_discussions"]["wiki_url"],
|
||||||
creatorId=post["creatorId"])
|
creatorId=post["creatorId"])
|
||||||
|
@ -272,7 +272,7 @@ def embed_author_discussions(post: dict, embed: DiscordMessage, ctx: Context):
|
||||||
|
|
||||||
@formatter.embed(event="discussion/wall")
|
@formatter.embed(event="discussion/wall")
|
||||||
def embed_discussion_wall(ctx: Context, post: dict):
|
def embed_discussion_wall(ctx: Context, post: dict):
|
||||||
embed = DiscordMessage("embed", "discussion")
|
embed = DiscordMessage("embed", "discussion", ctx.settings["fandom_discussions"]["webhookURL"])
|
||||||
common_discussions(post, embed, ctx)
|
common_discussions(post, embed, ctx)
|
||||||
embed_author_discussions(post, embed, ctx)
|
embed_author_discussions(post, embed, ctx)
|
||||||
user_wall = ctx._("unknown") # Fail safe
|
user_wall = ctx._("unknown") # Fail safe
|
||||||
|
@ -313,14 +313,14 @@ def compact_discussion_wall(ctx: Context, post: dict):
|
||||||
author=author, author_url=author_url, url=ctx.settings["fandom_discussions"]["wiki_url"],
|
author=author, author_url=author_url, url=ctx.settings["fandom_discussions"]["wiki_url"],
|
||||||
title=post["_embedded"]["thread"][0]["title"], user=user_wall,
|
title=post["_embedded"]["thread"][0]["title"], user=user_wall,
|
||||||
user_wall=quote_plus(user_wall.replace(" ", "_")), threadId=post["threadId"], replyId=post["id"])
|
user_wall=quote_plus(user_wall.replace(" ", "_")), threadId=post["threadId"], replyId=post["id"])
|
||||||
return DiscordMessage("compact", event_type, content=message)
|
return DiscordMessage("compact", event_type, ctx.webhook_url, content=message)
|
||||||
|
|
||||||
# discussion/article_comment - Article comments
|
# discussion/article_comment - Article comments
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="discussion/article_comment")
|
@formatter.embed(event="discussion/article_comment")
|
||||||
def embed_discussion_article_comment(ctx: Context, post: dict):
|
def embed_discussion_article_comment(ctx: Context, post: dict):
|
||||||
embed = DiscordMessage("embed", "discussion")
|
embed = DiscordMessage("embed", "discussion", ctx.settings["fandom_discussions"]["webhookURL"])
|
||||||
common_discussions(post, embed, ctx)
|
common_discussions(post, embed, ctx)
|
||||||
embed_author_discussions(post, embed, ctx)
|
embed_author_discussions(post, embed, ctx)
|
||||||
article_paths = ctx.comment_page
|
article_paths = ctx.comment_page
|
||||||
|
@ -359,4 +359,4 @@ def compact_discussion_article_comment(ctx: Context, post: dict):
|
||||||
"[{author}]({author_url}) created a [reply](<{url}?commentId={commentId}&replyId={replyId}>) to a [comment](<{url}?commentId={commentId}>) on [{article}](<{url}>)").format(
|
"[{author}]({author_url}) created a [reply](<{url}?commentId={commentId}&replyId={replyId}>) to a [comment](<{url}?commentId={commentId}>) on [{article}](<{url}>)").format(
|
||||||
author=author, author_url=author_url, url=article_paths["fullUrl"], article=article_paths["title"],
|
author=author, author_url=author_url, url=article_paths["fullUrl"], article=article_paths["title"],
|
||||||
commentId=post["threadId"], replyId=post["id"])
|
commentId=post["threadId"], replyId=post["id"])
|
||||||
return DiscordMessage("compact", event_type, content=message)
|
return DiscordMessage("compact", event_type, ctx.webhook_url, content=message)
|
||||||
|
|
|
@ -18,7 +18,7 @@ import logging
|
||||||
from src.discord.message import DiscordMessage
|
from src.discord.message import DiscordMessage
|
||||||
from src.api import formatter
|
from src.api import formatter
|
||||||
from src.api.context import Context
|
from src.api.context import Context
|
||||||
from src.api.util import embed_helper, clean_link, compact_author, create_article_path, sanitize_to_url, compact_summary
|
from src.api.util import embed_helper, clean_link, compact_author, sanitize_to_url, compact_summary
|
||||||
|
|
||||||
# Interwiki - https://www.mediawiki.org/wiki/Extension:Interwiki
|
# Interwiki - https://www.mediawiki.org/wiki/Extension:Interwiki
|
||||||
# interwiki/iw_add - Added entry to interwiki table
|
# interwiki/iw_add - Added entry to interwiki table
|
||||||
|
@ -26,9 +26,9 @@ from src.api.util import embed_helper, clean_link, compact_author, create_articl
|
||||||
|
|
||||||
@formatter.embed(event="interwiki/iw_add", mode="embed")
|
@formatter.embed(event="interwiki/iw_add", mode="embed")
|
||||||
def embed_interwiki_iw_add(ctx: Context, change: dict) -> DiscordMessage:
|
def embed_interwiki_iw_add(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change, set_desc=False)
|
embed_helper(ctx, embed, change, set_desc=False)
|
||||||
embed["url"] = create_article_path("Special:Interwiki")
|
embed["url"] = ctx.client.create_article_path("Special:Interwiki")
|
||||||
embed["title"] = ctx._("Added an entry to the interwiki table")
|
embed["title"] = ctx._("Added an entry to the interwiki table")
|
||||||
embed["description"] = ctx._("Prefix: {prefix}, website: {website} | {desc}").format(desc=ctx.parsedcomment,
|
embed["description"] = ctx._("Prefix: {prefix}, website: {website} | {desc}").format(desc=ctx.parsedcomment,
|
||||||
prefix=change["logparams"]['0'],
|
prefix=change["logparams"]['0'],
|
||||||
|
@ -39,13 +39,13 @@ def embed_interwiki_iw_add(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
@formatter.compact(event="interwiki/iw_add")
|
@formatter.compact(event="interwiki/iw_add")
|
||||||
def compact_interwiki_iw_add(ctx: Context, change: dict) -> DiscordMessage:
|
def compact_interwiki_iw_add(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path("Special:Interwiki"))
|
link = clean_link(ctx.client.create_article_path("Special:Interwiki"))
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"[{author}]({author_url}) added an entry to the [interwiki table]({table_url}) pointing to {website} with {prefix} prefix").format(
|
"[{author}]({author_url}) added an entry to the [interwiki table]({table_url}) pointing to {website} with {prefix} prefix").format(
|
||||||
author=author, author_url=author_url, desc=parsed_comment, prefix=change["logparams"]['0'],
|
author=author, author_url=author_url, desc=parsed_comment, prefix=change["logparams"]['0'],
|
||||||
website=change["logparams"]['1'], table_url=link)
|
website=change["logparams"]['1'], table_url=link)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# interwiki/iw_edit - Editing interwiki entry
|
# interwiki/iw_edit - Editing interwiki entry
|
||||||
|
@ -53,9 +53,9 @@ def compact_interwiki_iw_add(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
|
|
||||||
@formatter.embed(event="interwiki/iw_edit", mode="embed")
|
@formatter.embed(event="interwiki/iw_edit", mode="embed")
|
||||||
def embed_interwiki_iw_edit(ctx: Context, change: dict) -> DiscordMessage:
|
def embed_interwiki_iw_edit(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change, set_desc=False)
|
embed_helper(ctx, embed, change, set_desc=False)
|
||||||
embed["url"] = create_article_path("Special:Interwiki")
|
embed["url"] = ctx.client.create_article_path("Special:Interwiki")
|
||||||
embed["title"] = ctx._("Edited an entry in interwiki table")
|
embed["title"] = ctx._("Edited an entry in interwiki table")
|
||||||
embed["description"] = ctx._("Prefix: {prefix}, website: {website} | {desc}").format(desc=ctx.parsedcomment,
|
embed["description"] = ctx._("Prefix: {prefix}, website: {website} | {desc}").format(desc=ctx.parsedcomment,
|
||||||
prefix=change["logparams"]['0'],
|
prefix=change["logparams"]['0'],
|
||||||
|
@ -66,13 +66,13 @@ def embed_interwiki_iw_edit(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
@formatter.compact(event="interwiki/iw_edit")
|
@formatter.compact(event="interwiki/iw_edit")
|
||||||
def compact_interwiki_iw_edit(ctx: Context, change: dict) -> DiscordMessage:
|
def compact_interwiki_iw_edit(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path("Special:Interwiki"))
|
link = clean_link(ctx.client.create_article_path("Special:Interwiki"))
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) pointing to {website} with {prefix} prefix").format(
|
"[{author}]({author_url}) edited an entry in [interwiki table]({table_url}) pointing to {website} with {prefix} prefix").format(
|
||||||
author=author, author_url=author_url, desc=parsed_comment, prefix=change["logparams"]['0'],
|
author=author, author_url=author_url, desc=parsed_comment, prefix=change["logparams"]['0'],
|
||||||
website=change["logparams"]['1'], table_url=link)
|
website=change["logparams"]['1'], table_url=link)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# interwiki/iw_delete - Deleting interwiki entry
|
# interwiki/iw_delete - Deleting interwiki entry
|
||||||
|
@ -80,9 +80,9 @@ def compact_interwiki_iw_edit(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
|
|
||||||
@formatter.embed(event="interwiki/iw_delete", mode="embed")
|
@formatter.embed(event="interwiki/iw_delete", mode="embed")
|
||||||
def embed_interwiki_iw_delete(ctx: Context, change: dict) -> DiscordMessage:
|
def embed_interwiki_iw_delete(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change, set_desc=False)
|
embed_helper(ctx, embed, change, set_desc=False)
|
||||||
embed["url"] = create_article_path("Special:Interwiki")
|
embed["url"] = ctx.client.create_article_path("Special:Interwiki")
|
||||||
embed["title"] = ctx._("Deleted an entry in interwiki table")
|
embed["title"] = ctx._("Deleted an entry in interwiki table")
|
||||||
embed["description"] = ctx._("Prefix: {prefix} | {desc}").format(desc=ctx.parsedcomment,
|
embed["description"] = ctx._("Prefix: {prefix} | {desc}").format(desc=ctx.parsedcomment,
|
||||||
prefix=change["logparams"]['0'])
|
prefix=change["logparams"]['0'])
|
||||||
|
@ -92,7 +92,7 @@ def embed_interwiki_iw_delete(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
@formatter.compact(event="interwiki/iw_delete")
|
@formatter.compact(event="interwiki/iw_delete")
|
||||||
def compact_interwiki_iw_delete(ctx: Context, change: dict) -> DiscordMessage:
|
def compact_interwiki_iw_delete(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path("Special:Interwiki"))
|
link = clean_link(ctx.client.create_article_path("Special:Interwiki"))
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._("[{author}]({author_url}) deleted an entry in [interwiki table]({table_url}){desc}").format(
|
content = ctx._("[{author}]({author_url}) deleted an entry in [interwiki table]({table_url}){desc}").format(
|
||||||
author=author,
|
author=author,
|
||||||
|
@ -100,4 +100,4 @@ def compact_interwiki_iw_delete(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
table_url=link,
|
table_url=link,
|
||||||
desc=parsed_comment)
|
desc=parsed_comment)
|
||||||
|
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
from src.discord.message import DiscordMessage
|
from src.discord.message import DiscordMessage
|
||||||
from src.api import formatter
|
from src.api import formatter
|
||||||
from src.api.context import Context
|
from src.api.context import Context
|
||||||
from src.api.util import embed_helper, compact_author, create_article_path, sanitize_to_markdown, sanitize_to_url, compact_summary
|
from src.api.util import embed_helper, compact_author, sanitize_to_markdown, sanitize_to_url, compact_summary
|
||||||
|
|
||||||
|
|
||||||
# ManageWiki - https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ManageWiki
|
# ManageWiki - https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:ManageWiki
|
||||||
|
@ -24,9 +24,9 @@ from src.api.util import embed_helper, compact_author, create_article_path, sani
|
||||||
|
|
||||||
@formatter.embed(event="managewiki/settings")
|
@formatter.embed(event="managewiki/settings")
|
||||||
def embed_managewiki_settings(ctx: Context, change: dict):
|
def embed_managewiki_settings(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Changed wiki settings")
|
embed["title"] = ctx._("Changed wiki settings")
|
||||||
if change["logparams"].get("changes", ""):
|
if change["logparams"].get("changes", ""):
|
||||||
embed.add_field("Setting", sanitize_to_markdown(change["logparams"].get("changes")))
|
embed.add_field("Setting", sanitize_to_markdown(change["logparams"].get("changes")))
|
||||||
|
@ -38,16 +38,16 @@ def compact_managewiki_settings(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._("[{author}]({author_url}) changed wiki settings{reason}".format(author=author, author_url=author_url, reason=parsed_comment))
|
content = ctx._("[{author}]({author_url}) changed wiki settings{reason}".format(author=author, author_url=author_url, reason=parsed_comment))
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# managewiki/delete - Deleting a wiki
|
# managewiki/delete - Deleting a wiki
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="managewiki/delete")
|
@formatter.embed(event="managewiki/delete")
|
||||||
def embed_managewiki_delete(ctx: Context, change: dict):
|
def embed_managewiki_delete(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Deleted a \"{wiki}\" wiki").format(wiki=change["logparams"].get("wiki", ctx._("Unknown")))
|
embed["title"] = ctx._("Deleted a \"{wiki}\" wiki").format(wiki=change["logparams"].get("wiki", ctx._("Unknown")))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -62,16 +62,16 @@ def compact_managewiki_delete(ctx: Context, change: dict):
|
||||||
"logparams"].get("wiki",
|
"logparams"].get("wiki",
|
||||||
ctx._("Unknown")),
|
ctx._("Unknown")),
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# managewiki/delete-group - Deleting a group
|
# managewiki/delete-group - Deleting a group
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="managewiki/delete-group")
|
@formatter.embed(event="managewiki/delete-group")
|
||||||
def embed_managewiki_delete_group(ctx: Context, change: dict) -> DiscordMessage:
|
def embed_managewiki_delete_group(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
group = change["title"].split("/")[-1]
|
group = change["title"].split("/")[-1]
|
||||||
embed["title"] = ctx._("Deleted a \"{group}\" user group").format(wiki=group)
|
embed["title"] = ctx._("Deleted a \"{group}\" user group").format(wiki=group)
|
||||||
return embed
|
return embed
|
||||||
|
@ -86,16 +86,16 @@ def compact_managewiki_delete_group(ctx: Context, change: dict) -> DiscordMessag
|
||||||
author_url=author_url,
|
author_url=author_url,
|
||||||
group=group,
|
group=group,
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# managewiki/lock - Locking a wiki
|
# managewiki/lock - Locking a wiki
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="managewiki/lock")
|
@formatter.embed(event="managewiki/lock")
|
||||||
def embed_managewiki_lock(ctx: Context, change: dict):
|
def embed_managewiki_lock(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Locked a \"{wiki}\" wiki").format(wiki=change["logparams"].get("wiki", ctx._("Unknown")))
|
embed["title"] = ctx._("Locked a \"{wiki}\" wiki").format(wiki=change["logparams"].get("wiki", ctx._("Unknown")))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -107,16 +107,16 @@ def compact_managewiki_lock(ctx: Context, change: dict):
|
||||||
content = ctx._("[{author}]({author_url}) locked a wiki *{wiki_name}*{comment}").format(
|
content = ctx._("[{author}]({author_url}) locked a wiki *{wiki_name}*{comment}").format(
|
||||||
author=author, author_url=author_url, wiki_name=change["logparams"].get("wiki", ctx._("Unknown")),
|
author=author, author_url=author_url, wiki_name=change["logparams"].get("wiki", ctx._("Unknown")),
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# managewiki/namespaces - Modirying a wiki namespace
|
# managewiki/namespaces - Modirying a wiki namespace
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="managewiki/namespaces")
|
@formatter.embed(event="managewiki/namespaces")
|
||||||
def embed_managewiki_namespaces(ctx: Context, change: dict):
|
def embed_managewiki_namespaces(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Modified \"{namespace_name}\" namespace").format(
|
embed["title"] = ctx._("Modified \"{namespace_name}\" namespace").format(
|
||||||
namespace_name=change["logparams"].get("namespace", ctx._("Unknown")))
|
namespace_name=change["logparams"].get("namespace", ctx._("Unknown")))
|
||||||
embed.add_field(ctx._('Wiki'), change["logparams"].get("wiki", ctx._("Unknown")))
|
embed.add_field(ctx._('Wiki'), change["logparams"].get("wiki", ctx._("Unknown")))
|
||||||
|
@ -130,16 +130,16 @@ def compact_managewiki_namespaces(ctx: Context, change: dict):
|
||||||
content = ctx._("[{author}]({author_url}) modified namespace *{namespace_name}* on *{wiki_name}*{comment}").format(
|
content = ctx._("[{author}]({author_url}) modified namespace *{namespace_name}* on *{wiki_name}*{comment}").format(
|
||||||
author=author, author_url=author_url, namespace_name=change["logparams"].get("namespace", ctx._("Unknown")),
|
author=author, author_url=author_url, namespace_name=change["logparams"].get("namespace", ctx._("Unknown")),
|
||||||
wiki_name=change["logparams"].get("wiki", ctx._("Unknown")), comment=parsed_comment)
|
wiki_name=change["logparams"].get("wiki", ctx._("Unknown")), comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# managewiki/namespaces-delete - Deleteing a namespace
|
# managewiki/namespaces-delete - Deleteing a namespace
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="managewiki/namespaces-delete")
|
@formatter.embed(event="managewiki/namespaces-delete")
|
||||||
def embed_managewiki_namespaces_delete(ctx: Context, change: dict):
|
def embed_managewiki_namespaces_delete(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Deleted a \"{namespace_name}\" namespace").format(
|
embed["title"] = ctx._("Deleted a \"{namespace_name}\" namespace").format(
|
||||||
namespace_name=change["logparams"].get("namespace", ctx._("Unknown")))
|
namespace_name=change["logparams"].get("namespace", ctx._("Unknown")))
|
||||||
embed.add_field(ctx._('Wiki'), change["logparams"].get("wiki", ctx._("Unknown")))
|
embed.add_field(ctx._('Wiki'), change["logparams"].get("wiki", ctx._("Unknown")))
|
||||||
|
@ -155,16 +155,16 @@ def compact_managewiki_namespaces_delete(ctx: Context, change: dict):
|
||||||
author=author, author_url=author_url,
|
author=author, author_url=author_url,
|
||||||
namespace_name=change["logparams"].get("namespace", ctx._("Unknown")),
|
namespace_name=change["logparams"].get("namespace", ctx._("Unknown")),
|
||||||
wiki_name=change["logparams"].get("wiki", ctx._("Unknown")), comment=parsed_comment)
|
wiki_name=change["logparams"].get("wiki", ctx._("Unknown")), comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# managewiki/rights - Modifying user groups
|
# managewiki/rights - Modifying user groups
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="managewiki/rights")
|
@formatter.embed(event="managewiki/rights")
|
||||||
def embed_managewiki_rights(ctx: Context, change: dict):
|
def embed_managewiki_rights(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
group_name = change["title"].split("/permissions/", 1)[1]
|
group_name = change["title"].split("/permissions/", 1)[1]
|
||||||
embed["title"] = ctx._("Modified \"{usergroup_name}\" usergroup").format(usergroup_name=group_name)
|
embed["title"] = ctx._("Modified \"{usergroup_name}\" usergroup").format(usergroup_name=group_name)
|
||||||
return embed
|
return embed
|
||||||
|
@ -178,16 +178,16 @@ def compact_managewiki_rights(ctx: Context, change: dict):
|
||||||
content = ctx._("[{author}]({author_url}) modified user group *{group_name}*{comment}").format(
|
content = ctx._("[{author}]({author_url}) modified user group *{group_name}*{comment}").format(
|
||||||
author=author, author_url=author_url, group_name=group_name, comment=parsed_comment
|
author=author, author_url=author_url, group_name=group_name, comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# managewiki/undelete - Restoring a wiki
|
# managewiki/undelete - Restoring a wiki
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="managewiki/undelete")
|
@formatter.embed(event="managewiki/undelete")
|
||||||
def embed_managewiki_undelete(ctx: Context, change: dict):
|
def embed_managewiki_undelete(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Undeleted a \"{wiki}\" wiki").format(wiki=change["logparams"].get("wiki", ctx._("Unknown")))
|
embed["title"] = ctx._("Undeleted a \"{wiki}\" wiki").format(wiki=change["logparams"].get("wiki", ctx._("Unknown")))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -200,16 +200,16 @@ def compact_managewiki_undelete(ctx: Context, change: dict):
|
||||||
author=author, author_url=author_url, wiki_name=change["logparams"].get("wiki", ctx._("Unknown")),
|
author=author, author_url=author_url, wiki_name=change["logparams"].get("wiki", ctx._("Unknown")),
|
||||||
comment=parsed_comment
|
comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# managewiki/unlock - Unlocking a wiki
|
# managewiki/unlock - Unlocking a wiki
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="managewiki/unlock")
|
@formatter.embed(event="managewiki/unlock")
|
||||||
def embed_managewiki_unlock(ctx: Context, change: dict):
|
def embed_managewiki_unlock(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Unlocked a \"{wiki}\" wiki").format(wiki=change["logparams"].get("wiki", ctx._("Unknown")))
|
embed["title"] = ctx._("Unlocked a \"{wiki}\" wiki").format(wiki=change["logparams"].get("wiki", ctx._("Unknown")))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -222,4 +222,4 @@ def compact_managewiki_unlock(ctx: Context, change: dict):
|
||||||
author=author, author_url=author_url, wiki_name=change["logparams"].get("wiki", ctx._("Unknown")),
|
author=author, author_url=author_url, wiki_name=change["logparams"].get("wiki", ctx._("Unknown")),
|
||||||
comment=parsed_comment
|
comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
|
@ -23,7 +23,7 @@ from src.discord.message import DiscordMessage
|
||||||
from src.api import formatter
|
from src.api import formatter
|
||||||
from src.api.context import Context
|
from src.api.context import Context
|
||||||
from src.api.util import embed_helper, sanitize_to_url, parse_mediawiki_changes, clean_link, compact_author, \
|
from src.api.util import embed_helper, sanitize_to_url, parse_mediawiki_changes, clean_link, compact_author, \
|
||||||
create_article_path, sanitize_to_markdown, compact_summary
|
sanitize_to_markdown, compact_summary
|
||||||
from src.exceptions import *
|
from src.exceptions import *
|
||||||
|
|
||||||
logger = logging.getLogger("extensions.base")
|
logger = logging.getLogger("extensions.base")
|
||||||
|
@ -39,7 +39,7 @@ if 1 == 2: # additional translation strings in unreachable code
|
||||||
|
|
||||||
@formatter.embed(event="edit", mode="embed", aliases=["new"])
|
@formatter.embed(event="edit", mode="embed", aliases=["new"])
|
||||||
def embed_edit(ctx: Context, change: dict) -> DiscordMessage:
|
def embed_edit(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
action = ctx.event
|
action = ctx.event
|
||||||
editsize = change["newlen"] - change["oldlen"]
|
editsize = change["newlen"] - change["oldlen"]
|
||||||
if editsize > 0:
|
if editsize > 0:
|
||||||
|
@ -113,14 +113,14 @@ def compact_edit(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
"[{author}]({author_url}) created [{article}]({edit_link}){comment} {bold}({sign}{edit_size}){bold}").format(
|
"[{author}]({author_url}) created [{article}]({edit_link}){comment} {bold}({sign}{edit_size}){bold}").format(
|
||||||
author=author, author_url=author_url, article=sanitize_to_markdown(change["title"]), edit_link=edit_link, comment=parsed_comment,
|
author=author, author_url=author_url, article=sanitize_to_markdown(change["title"]), edit_link=edit_link, comment=parsed_comment,
|
||||||
edit_size=edit_size, sign=sign, bold=bold)
|
edit_size=edit_size, sign=sign, bold=bold)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# Upload - upload/reupload, upload/upload
|
# Upload - upload/reupload, upload/upload
|
||||||
@formatter.embed(event="upload/upload", mode="embed", aliases=["upload/overwrite", "upload/revert"])
|
@formatter.embed(event="upload/upload", mode="embed", aliases=["upload/overwrite", "upload/revert"])
|
||||||
def embed_upload_upload(ctx, change) -> DiscordMessage:
|
def embed_upload_upload(ctx, change) -> DiscordMessage:
|
||||||
license = None
|
license = None
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
action = ctx.event
|
action = ctx.event
|
||||||
# Requesting more information on the image
|
# Requesting more information on the image
|
||||||
request_for_image_data = None
|
request_for_image_data = None
|
||||||
|
@ -154,7 +154,7 @@ def embed_upload_upload(ctx, change) -> DiscordMessage:
|
||||||
else:
|
else:
|
||||||
logger.warning("Request for additional image information have failed. The preview will not be shown.")
|
logger.warning("Request for additional image information have failed. The preview will not be shown.")
|
||||||
request_for_image_data = None
|
request_for_image_data = None
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
image_direct_url = None
|
image_direct_url = None
|
||||||
# Make a request for file revisions so we can get direct URL to the image for embed
|
# Make a request for file revisions so we can get direct URL to the image for embed
|
||||||
if request_for_image_data is not None:
|
if request_for_image_data is not None:
|
||||||
|
@ -228,29 +228,29 @@ def embed_upload_upload(ctx, change) -> DiscordMessage:
|
||||||
@formatter.compact(event="upload/revert", mode="compact")
|
@formatter.compact(event="upload/revert", mode="compact")
|
||||||
def compact_upload_revert(ctx, change) -> DiscordMessage:
|
def compact_upload_revert(ctx, change) -> DiscordMessage:
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
file_link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
file_link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._("[{author}]({author_url}) reverted a version of [{file}]({file_link}){comment}").format(
|
content = ctx._("[{author}]({author_url}) reverted a version of [{file}]({file_link}){comment}").format(
|
||||||
author=author, author_url=author_url, file=sanitize_to_markdown(change["title"]), file_link=file_link,
|
author=author, author_url=author_url, file=sanitize_to_markdown(change["title"]), file_link=file_link,
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
@formatter.compact(event="upload/overwrite", mode="compact")
|
@formatter.compact(event="upload/overwrite", mode="compact")
|
||||||
def compact_upload_overwrite(ctx, change) -> DiscordMessage:
|
def compact_upload_overwrite(ctx, change) -> DiscordMessage:
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
file_link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
file_link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._("[{author}]({author_url}) uploaded a new version of [{file}]({file_link}){comment}").format(
|
content = ctx._("[{author}]({author_url}) uploaded a new version of [{file}]({file_link}){comment}").format(
|
||||||
author=author, author_url=author_url, file=sanitize_to_markdown(change["title"]), file_link=file_link,
|
author=author, author_url=author_url, file=sanitize_to_markdown(change["title"]), file_link=file_link,
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
@formatter.compact(event="upload/upload", mode="compact")
|
@formatter.compact(event="upload/upload", mode="compact")
|
||||||
def compact_upload_upload(ctx, change) -> DiscordMessage:
|
def compact_upload_upload(ctx, change) -> DiscordMessage:
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
file_link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
file_link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._("[{author}]({author_url}) uploaded [{file}]({file_link}){comment}").format(author=author,
|
content = ctx._("[{author}]({author_url}) uploaded [{file}]({file_link}){comment}").format(author=author,
|
||||||
author_url=author_url,
|
author_url=author_url,
|
||||||
|
@ -258,15 +258,15 @@ def compact_upload_upload(ctx, change) -> DiscordMessage:
|
||||||
change["title"]),
|
change["title"]),
|
||||||
file_link=file_link,
|
file_link=file_link,
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# delete/delete - Page deletion
|
# delete/delete - Page deletion
|
||||||
@formatter.embed(event="delete/delete", mode="embed")
|
@formatter.embed(event="delete/delete", mode="embed")
|
||||||
def embed_delete_delete(ctx, change) -> DiscordMessage:
|
def embed_delete_delete(ctx, change) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed['url'] = create_article_path(sanitize_to_url(change["title"]))
|
embed['url'] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Deleted page {article}").format(article=sanitize_to_markdown(change["title"]))
|
embed["title"] = ctx._("Deleted page {article}").format(article=sanitize_to_markdown(change["title"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -275,22 +275,22 @@ def embed_delete_delete(ctx, change) -> DiscordMessage:
|
||||||
def compact_delete_delete(ctx, change) -> DiscordMessage:
|
def compact_delete_delete(ctx, change) -> DiscordMessage:
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
page_link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
page_link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
content = ctx._("[{author}]({author_url}) deleted [{page}]({page_link}){comment}").format(author=author,
|
content = ctx._("[{author}]({author_url}) deleted [{page}]({page_link}){comment}").format(author=author,
|
||||||
author_url=author_url,
|
author_url=author_url,
|
||||||
page=sanitize_to_markdown(
|
page=sanitize_to_markdown(
|
||||||
change["title"]),
|
change["title"]),
|
||||||
page_link=page_link,
|
page_link=page_link,
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# delete/delete_redir - Redirect deletion
|
# delete/delete_redir - Redirect deletion
|
||||||
@formatter.embed(event="delete/delete_redir", mode="embed")
|
@formatter.embed(event="delete/delete_redir", mode="embed")
|
||||||
def embed_delete_delete_redir(ctx, change) -> DiscordMessage:
|
def embed_delete_delete_redir(ctx, change) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed['url'] = create_article_path(sanitize_to_url(change["title"]))
|
embed['url'] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Deleted redirect {article} by overwriting").format(
|
embed["title"] = ctx._("Deleted redirect {article} by overwriting").format(
|
||||||
article=sanitize_to_markdown(change["title"]))
|
article=sanitize_to_markdown(change["title"]))
|
||||||
return embed
|
return embed
|
||||||
|
@ -298,13 +298,13 @@ def embed_delete_delete_redir(ctx, change) -> DiscordMessage:
|
||||||
|
|
||||||
@formatter.compact(event="delete/delete_redir", mode="compact")
|
@formatter.compact(event="delete/delete_redir", mode="compact")
|
||||||
def compact_delete_delete_redir(ctx, change) -> DiscordMessage:
|
def compact_delete_delete_redir(ctx, change) -> DiscordMessage:
|
||||||
page_link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
page_link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._("[{author}]({author_url}) deleted redirect by overwriting [{page}]({page_link}){comment}").format(
|
content = ctx._("[{author}]({author_url}) deleted redirect by overwriting [{page}]({page_link}){comment}").format(
|
||||||
author=author, author_url=author_url, page=sanitize_to_markdown(change["title"]), page_link=page_link,
|
author=author, author_url=author_url, page=sanitize_to_markdown(change["title"]), page_link=page_link,
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# delete/restore - Restoring a page
|
# delete/restore - Restoring a page
|
||||||
|
@ -312,16 +312,16 @@ def compact_delete_delete_redir(ctx, change) -> DiscordMessage:
|
||||||
|
|
||||||
@formatter.embed(event="delete/restore", mode="embed")
|
@formatter.embed(event="delete/restore", mode="embed")
|
||||||
def embed_delete_restore(ctx, change) -> DiscordMessage:
|
def embed_delete_restore(ctx, change) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed['url'] = create_article_path(sanitize_to_url(change["title"]))
|
embed['url'] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Restored {article}").format(article=sanitize_to_markdown(change["title"]))
|
embed["title"] = ctx._("Restored {article}").format(article=sanitize_to_markdown(change["title"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
|
||||||
@formatter.compact(event="delete/restore", mode="compact")
|
@formatter.compact(event="delete/restore", mode="compact")
|
||||||
def compact_delete_restore(ctx, change) -> DiscordMessage:
|
def compact_delete_restore(ctx, change) -> DiscordMessage:
|
||||||
page_link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
page_link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._("[{author}]({author_url}) restored [{article}]({article_url}){comment}").format(author=author,
|
content = ctx._("[{author}]({author_url}) restored [{article}]({article_url}){comment}").format(author=author,
|
||||||
|
@ -330,7 +330,7 @@ def compact_delete_restore(ctx, change) -> DiscordMessage:
|
||||||
change["title"]),
|
change["title"]),
|
||||||
article_url=page_link,
|
article_url=page_link,
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# delete/event - Deleting an event with revdelete feature
|
# delete/event - Deleting an event with revdelete feature
|
||||||
|
@ -338,9 +338,9 @@ def compact_delete_restore(ctx, change) -> DiscordMessage:
|
||||||
|
|
||||||
@formatter.embed(event="delete/event", mode="embed")
|
@formatter.embed(event="delete/event", mode="embed")
|
||||||
def embed_delete_event(ctx, change) -> DiscordMessage:
|
def embed_delete_event(ctx, change) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed['url'] = create_article_path("Special:RecentChanges")
|
embed['url'] = ctx.client.create_article_path("Special:RecentChanges")
|
||||||
embed["title"] = ctx._("Changed visibility of log events")
|
embed["title"] = ctx._("Changed visibility of log events")
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -352,17 +352,17 @@ def compact_delete_event(ctx, change) -> DiscordMessage:
|
||||||
content = ctx._("[{author}]({author_url}) changed visibility of log events{comment}").format(author=author,
|
content = ctx._("[{author}]({author_url}) changed visibility of log events{comment}").format(author=author,
|
||||||
author_url=author_url,
|
author_url=author_url,
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# delete/revision - Deleting revision information
|
# delete/revision - Deleting revision information
|
||||||
|
|
||||||
@formatter.embed(event="delete/revision", mode="embed")
|
@formatter.embed(event="delete/revision", mode="embed")
|
||||||
def embed_delete_revision(ctx, change) -> DiscordMessage:
|
def embed_delete_revision(ctx, change) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
amount = len(change["logparams"]["ids"])
|
amount = len(change["logparams"]["ids"])
|
||||||
embed['url'] = create_article_path(sanitize_to_url(change["title"]))
|
embed['url'] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx.ngettext("Changed visibility of revision on page {article} ",
|
embed["title"] = ctx.ngettext("Changed visibility of revision on page {article} ",
|
||||||
"Changed visibility of {amount} revisions on page {article} ", amount).format(
|
"Changed visibility of {amount} revisions on page {article} ", amount).format(
|
||||||
article=sanitize_to_markdown(change["title"]), amount=amount)
|
article=sanitize_to_markdown(change["title"]), amount=amount)
|
||||||
|
@ -373,14 +373,14 @@ def embed_delete_revision(ctx, change) -> DiscordMessage:
|
||||||
def compact_delete_revision(ctx, change) -> DiscordMessage:
|
def compact_delete_revision(ctx, change) -> DiscordMessage:
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
amount = len(change["logparams"]["ids"])
|
amount = len(change["logparams"]["ids"])
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx.ngettext(
|
content = ctx.ngettext(
|
||||||
"[{author}]({author_url}) changed visibility of revision on page [{article}]({article_url}){comment}",
|
"[{author}]({author_url}) changed visibility of revision on page [{article}]({article_url}){comment}",
|
||||||
"[{author}]({author_url}) changed visibility of {amount} revisions on page [{article}]({article_url}){comment}",
|
"[{author}]({author_url}) changed visibility of {amount} revisions on page [{article}]({article_url}){comment}",
|
||||||
amount).format(author=author, author_url=author_url,
|
amount).format(author=author, author_url=author_url,
|
||||||
article=sanitize_to_markdown(change["title"]), article_url=link, amount=amount, comment=parsed_comment)
|
article=sanitize_to_markdown(change["title"]), article_url=link, amount=amount, comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# move/move - Moving pages
|
# move/move - Moving pages
|
||||||
|
@ -388,9 +388,9 @@ def compact_delete_revision(ctx, change) -> DiscordMessage:
|
||||||
|
|
||||||
@formatter.embed(event="move/move", mode="embed")
|
@formatter.embed(event="move/move", mode="embed")
|
||||||
def embed_move_move(ctx, change) -> DiscordMessage:
|
def embed_move_move(ctx, change) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change, set_desc=False)
|
embed_helper(ctx, embed, change, set_desc=False)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["logparams"]['target_title']))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["logparams"]['target_title']))
|
||||||
embed["description"] = "{supress}. {desc}".format(desc=ctx.parsedcomment,
|
embed["description"] = "{supress}. {desc}".format(desc=ctx.parsedcomment,
|
||||||
supress=ctx._("No redirect has been made") if "suppressredirect" in
|
supress=ctx._("No redirect has been made") if "suppressredirect" in
|
||||||
change["logparams"] else ctx._("A redirect has been made"))
|
change["logparams"] else ctx._("A redirect has been made"))
|
||||||
|
@ -404,7 +404,7 @@ def embed_move_move(ctx, change) -> DiscordMessage:
|
||||||
@formatter.compact(event="move/move", mode="compact")
|
@formatter.compact(event="move/move", mode="compact")
|
||||||
def compact_move_move(ctx, change) -> DiscordMessage:
|
def compact_move_move(ctx, change) -> DiscordMessage:
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["logparams"]['target_title'])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["logparams"]['target_title'])))
|
||||||
redirect_status = ctx._("without making a redirect") if "suppressredirect" in change["logparams"] else ctx._(
|
redirect_status = ctx._("without making a redirect") if "suppressredirect" in change["logparams"] else ctx._(
|
||||||
"with a redirect")
|
"with a redirect")
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
|
@ -413,7 +413,7 @@ def compact_move_move(ctx, change) -> DiscordMessage:
|
||||||
author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=sanitize_to_markdown(change["title"]),
|
author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=sanitize_to_markdown(change["title"]),
|
||||||
target=sanitize_to_markdown(change["logparams"]['target_title']), target_url=link, comment=parsed_comment,
|
target=sanitize_to_markdown(change["logparams"]['target_title']), target_url=link, comment=parsed_comment,
|
||||||
made_a_redirect=redirect_status)
|
made_a_redirect=redirect_status)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# move/move_redir - Move over redirect
|
# move/move_redir - Move over redirect
|
||||||
|
@ -421,9 +421,9 @@ def compact_move_move(ctx, change) -> DiscordMessage:
|
||||||
|
|
||||||
@formatter.embed(event="move/move_redir", mode="embed")
|
@formatter.embed(event="move/move_redir", mode="embed")
|
||||||
def embed_move_move_redir(ctx, change) -> DiscordMessage:
|
def embed_move_move_redir(ctx, change) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change, set_desc=False)
|
embed_helper(ctx, embed, change, set_desc=False)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["logparams"]['target_title']))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["logparams"]['target_title']))
|
||||||
embed["description"] = "{supress}. {desc}".format(desc=ctx.parsedcomment,
|
embed["description"] = "{supress}. {desc}".format(desc=ctx.parsedcomment,
|
||||||
supress=ctx._("No redirect has been made") if "suppressredirect" in
|
supress=ctx._("No redirect has been made") if "suppressredirect" in
|
||||||
change["logparams"] else ctx._("A redirect has been made"))
|
change["logparams"] else ctx._("A redirect has been made"))
|
||||||
|
@ -436,7 +436,7 @@ def embed_move_move_redir(ctx, change) -> DiscordMessage:
|
||||||
@formatter.compact(event="move/move_redir", mode="compact")
|
@formatter.compact(event="move/move_redir", mode="compact")
|
||||||
def compact_move_move_redir(ctx, change) -> DiscordMessage:
|
def compact_move_move_redir(ctx, change) -> DiscordMessage:
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["logparams"]['target_title'])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["logparams"]['target_title'])))
|
||||||
redirect_status = ctx._("without making a redirect") if "suppressredirect" in change["logparams"] else ctx._(
|
redirect_status = ctx._("without making a redirect") if "suppressredirect" in change["logparams"] else ctx._(
|
||||||
"with a redirect")
|
"with a redirect")
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
|
@ -446,7 +446,7 @@ def compact_move_move_redir(ctx, change) -> DiscordMessage:
|
||||||
article=sanitize_to_markdown(change["title"]),
|
article=sanitize_to_markdown(change["title"]),
|
||||||
target=sanitize_to_markdown(change["logparams"]['target_title']), target_url=link, comment=parsed_comment,
|
target=sanitize_to_markdown(change["logparams"]['target_title']), target_url=link, comment=parsed_comment,
|
||||||
made_a_redirect=redirect_status)
|
made_a_redirect=redirect_status)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# protect/move_prot - Moving protection
|
# protect/move_prot - Moving protection
|
||||||
|
@ -454,9 +454,9 @@ def compact_move_move_redir(ctx, change) -> DiscordMessage:
|
||||||
|
|
||||||
@formatter.embed(event="protect/move_prot", mode="embed")
|
@formatter.embed(event="protect/move_prot", mode="embed")
|
||||||
def embed_protect_move_prot(ctx, change):
|
def embed_protect_move_prot(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["logparams"]["oldtitle_title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["logparams"]["oldtitle_title"]))
|
||||||
embed["title"] = ctx._("Moved protection settings from {redirect}{article} to {title}").format(
|
embed["title"] = ctx._("Moved protection settings from {redirect}{article} to {title}").format(
|
||||||
redirect="⤷ " if "redirect" in change else "",
|
redirect="⤷ " if "redirect" in change else "",
|
||||||
article=sanitize_to_markdown(change["logparams"]["oldtitle_title"]),
|
article=sanitize_to_markdown(change["logparams"]["oldtitle_title"]),
|
||||||
|
@ -467,14 +467,14 @@ def embed_protect_move_prot(ctx, change):
|
||||||
@formatter.compact(event="protect/move_prot", mode="compact")
|
@formatter.compact(event="protect/move_prot", mode="compact")
|
||||||
def compact_protect_move_prot(ctx, change):
|
def compact_protect_move_prot(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["logparams"]["oldtitle_title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["logparams"]["oldtitle_title"])))
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"[{author}]({author_url}) moved protection settings from {redirect}*{article}* to [{target}]({target_url}){comment}").format(
|
"[{author}]({author_url}) moved protection settings from {redirect}*{article}* to [{target}]({target_url}){comment}").format(
|
||||||
author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "",
|
author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "",
|
||||||
article=sanitize_to_markdown(change["logparams"]["oldtitle_title"]),
|
article=sanitize_to_markdown(change["logparams"]["oldtitle_title"]),
|
||||||
target=sanitize_to_markdown(change["title"]), target_url=link, comment=parsed_comment)
|
target=sanitize_to_markdown(change["title"]), target_url=link, comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# protect/protect - Creating protection
|
# protect/protect - Creating protection
|
||||||
|
@ -482,9 +482,9 @@ def compact_protect_move_prot(ctx, change):
|
||||||
|
|
||||||
@formatter.embed(event="protect/protect", mode="embed")
|
@formatter.embed(event="protect/protect", mode="embed")
|
||||||
def embed_protect_protect(ctx, change):
|
def embed_protect_protect(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change, set_desc=False)
|
embed_helper(ctx, embed, change, set_desc=False)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Protected {target}").format(target=sanitize_to_markdown(change["title"]))
|
embed["title"] = ctx._("Protected {target}").format(target=sanitize_to_markdown(change["title"]))
|
||||||
embed["description"] = "{settings}{cascade} | {reason}".format(
|
embed["description"] = "{settings}{cascade} | {reason}".format(
|
||||||
settings=sanitize_to_markdown(change["logparams"].get("description", "")),
|
settings=sanitize_to_markdown(change["logparams"].get("description", "")),
|
||||||
|
@ -496,7 +496,7 @@ def embed_protect_protect(ctx, change):
|
||||||
@formatter.compact(event="protect/protect", mode="compact")
|
@formatter.compact(event="protect/protect", mode="compact")
|
||||||
def compact_protect_protect(ctx, change):
|
def compact_protect_protect(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"[{author}]({author_url}) protected [{article}]({article_url}) with the following settings: {settings}{comment}").format(
|
"[{author}]({author_url}) protected [{article}]({article_url}) with the following settings: {settings}{comment}").format(
|
||||||
|
@ -505,7 +505,7 @@ def compact_protect_protect(ctx, change):
|
||||||
settings=change["logparams"].get("description", "") + (
|
settings=change["logparams"].get("description", "") + (
|
||||||
ctx._(" [cascading]") if "cascade" in change["logparams"] else ""),
|
ctx._(" [cascading]") if "cascade" in change["logparams"] else ""),
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# protect/modify - Changing protection settings
|
# protect/modify - Changing protection settings
|
||||||
|
@ -513,9 +513,9 @@ def compact_protect_protect(ctx, change):
|
||||||
|
|
||||||
@formatter.embed(event="protect/modify", mode="embed")
|
@formatter.embed(event="protect/modify", mode="embed")
|
||||||
def embed_protect_modify(ctx, change):
|
def embed_protect_modify(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change, set_desc=False)
|
embed_helper(ctx, embed, change, set_desc=False)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Changed protection level for {article}").format(article=sanitize_to_markdown(change["title"]))
|
embed["title"] = ctx._("Changed protection level for {article}").format(article=sanitize_to_markdown(change["title"]))
|
||||||
embed["description"] = "{settings}{cascade} | {reason}".format(
|
embed["description"] = "{settings}{cascade} | {reason}".format(
|
||||||
settings=sanitize_to_markdown(change["logparams"].get("description", "")),
|
settings=sanitize_to_markdown(change["logparams"].get("description", "")),
|
||||||
|
@ -527,7 +527,7 @@ def embed_protect_modify(ctx, change):
|
||||||
@formatter.compact(event="protect/modify", mode="compact")
|
@formatter.compact(event="protect/modify", mode="compact")
|
||||||
def compact_protect_modify(ctx, change):
|
def compact_protect_modify(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"[{author}]({author_url}) modified protection settings of [{article}]({article_url}) to: {settings}{comment}").format(
|
"[{author}]({author_url}) modified protection settings of [{article}]({article_url}) to: {settings}{comment}").format(
|
||||||
|
@ -536,7 +536,7 @@ def compact_protect_modify(ctx, change):
|
||||||
settings=sanitize_to_markdown(change["logparams"].get("description", "")) + (
|
settings=sanitize_to_markdown(change["logparams"].get("description", "")) + (
|
||||||
ctx._(" [cascading]") if "cascade" in change["logparams"] else ""),
|
ctx._(" [cascading]") if "cascade" in change["logparams"] else ""),
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# protect/unprotect - Unprotecting a page
|
# protect/unprotect - Unprotecting a page
|
||||||
|
@ -544,9 +544,9 @@ def compact_protect_modify(ctx, change):
|
||||||
|
|
||||||
@formatter.embed(event="protect/unprotect", mode="embed")
|
@formatter.embed(event="protect/unprotect", mode="embed")
|
||||||
def embed_protect_unprotect(ctx, change):
|
def embed_protect_unprotect(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Removed protection from {article}").format(article=sanitize_to_markdown(change["title"]))
|
embed["title"] = ctx._("Removed protection from {article}").format(article=sanitize_to_markdown(change["title"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -554,12 +554,12 @@ def embed_protect_unprotect(ctx, change):
|
||||||
@formatter.compact(event="protect/unprotect", mode="compact")
|
@formatter.compact(event="protect/unprotect", mode="compact")
|
||||||
def compact_protect_unprotect(ctx, change):
|
def compact_protect_unprotect(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._("[{author}]({author_url}) removed protection from [{article}]({article_url}){comment}").format(
|
content = ctx._("[{author}]({author_url}) removed protection from [{article}]({article_url}){comment}").format(
|
||||||
author=author, author_url=author_url, article=sanitize_to_markdown(change["title"]), article_url=link,
|
author=author, author_url=author_url, article=sanitize_to_markdown(change["title"]), article_url=link,
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# block/block - Blocking an user
|
# block/block - Blocking an user
|
||||||
|
@ -590,13 +590,13 @@ def block_expiry(change: dict, ctx: Context) -> str:
|
||||||
|
|
||||||
@formatter.embed(event="block/block", mode="embed")
|
@formatter.embed(event="block/block", mode="embed")
|
||||||
def embed_block_block(ctx, change):
|
def embed_block_block(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
user = change["title"].split(':', 1)[1]
|
user = change["title"].split(':', 1)[1]
|
||||||
try:
|
try:
|
||||||
ipaddress.ip_address(user)
|
ipaddress.ip_address(user)
|
||||||
embed["url"] = create_article_path("Special:Contributions/{user}".format(user=user))
|
embed["url"] = ctx.client.create_article_path("Special:Contributions/{user}".format(user=user))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
if "sitewide" not in change["logparams"]:
|
if "sitewide" not in change["logparams"]:
|
||||||
restriction_description = ""
|
restriction_description = ""
|
||||||
if "restrictions" in change["logparams"]:
|
if "restrictions" in change["logparams"]:
|
||||||
|
@ -639,9 +639,9 @@ def compact_block_block(ctx, change):
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
try:
|
try:
|
||||||
ipaddress.ip_address(user)
|
ipaddress.ip_address(user)
|
||||||
link = clean_link(create_article_path("Special:Contributions/{user}".format(user=user)))
|
link = clean_link(ctx.client.create_article_path("Special:Contributions/{user}".format(user=user)))
|
||||||
except ValueError:
|
except ValueError:
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
else:
|
else:
|
||||||
if "sitewide" not in change["logparams"]:
|
if "sitewide" not in change["logparams"]:
|
||||||
if "restrictions" in change["logparams"]:
|
if "restrictions" in change["logparams"]:
|
||||||
|
@ -676,15 +676,15 @@ def compact_block_block(ctx, change):
|
||||||
user_url=link,
|
user_url=link,
|
||||||
restriction_desc=restriction_description,
|
restriction_desc=restriction_description,
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# block/reblock - Changing settings of a block
|
# block/reblock - Changing settings of a block
|
||||||
@formatter.embed(event="block/reblock", mode="embed")
|
@formatter.embed(event="block/reblock", mode="embed")
|
||||||
def embed_block_reblock(ctx, change):
|
def embed_block_reblock(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
user = change["title"].split(':', 1)[1]
|
user = change["title"].split(':', 1)[1]
|
||||||
embed["title"] = ctx._("Changed block settings for {blocked_user}").format(blocked_user=sanitize_to_markdown(user))
|
embed["title"] = ctx._("Changed block settings for {blocked_user}").format(blocked_user=sanitize_to_markdown(user))
|
||||||
return embed
|
return embed
|
||||||
|
@ -693,21 +693,21 @@ def embed_block_reblock(ctx, change):
|
||||||
@formatter.compact(event="block/reblock")
|
@formatter.compact(event="block/reblock")
|
||||||
def compact_block_reblock(ctx, change):
|
def compact_block_reblock(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
user = change["title"].split(':', 1)[1]
|
user = change["title"].split(':', 1)[1]
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._("[{author}]({author_url}) changed block settings for [{blocked_user}]({user_url}){comment}").format(
|
content = ctx._("[{author}]({author_url}) changed block settings for [{blocked_user}]({user_url}){comment}").format(
|
||||||
author=author, author_url=author_url, blocked_user=sanitize_to_markdown(user), user_url=link, comment=parsed_comment)
|
author=author, author_url=author_url, blocked_user=sanitize_to_markdown(user), user_url=link, comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# block/unblock - Unblocking an user
|
# block/unblock - Unblocking an user
|
||||||
|
|
||||||
@formatter.embed(event="block/unblock", mode="embed")
|
@formatter.embed(event="block/unblock", mode="embed")
|
||||||
def embed_block_unblock(ctx, change):
|
def embed_block_unblock(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
user = change["title"].split(':', 1)[1]
|
user = change["title"].split(':', 1)[1]
|
||||||
embed["title"] = ctx._("Unblocked {blocked_user}").format(blocked_user=sanitize_to_markdown(user))
|
embed["title"] = ctx._("Unblocked {blocked_user}").format(blocked_user=sanitize_to_markdown(user))
|
||||||
return embed
|
return embed
|
||||||
|
@ -716,7 +716,7 @@ def embed_block_unblock(ctx, change):
|
||||||
@formatter.compact(event="block/unblock")
|
@formatter.compact(event="block/unblock")
|
||||||
def compact_block_unblock(ctx, change):
|
def compact_block_unblock(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
user = change["title"].split(':', 1)[1]
|
user = change["title"].split(':', 1)[1]
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._("[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}").format(author=author,
|
content = ctx._("[{author}]({author_url}) unblocked [{blocked_user}]({user_url}){comment}").format(author=author,
|
||||||
|
@ -725,7 +725,7 @@ def compact_block_unblock(ctx, change):
|
||||||
user_url=link,
|
user_url=link,
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
|
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# suppressed - Custom event for whenever there is limited information available about the event due to revdel
|
# suppressed - Custom event for whenever there is limited information available about the event due to revdel
|
||||||
|
@ -733,8 +733,8 @@ def compact_block_unblock(ctx, change):
|
||||||
|
|
||||||
@formatter.embed(event="suppressed", mode="embed")
|
@formatter.embed(event="suppressed", mode="embed")
|
||||||
def embed_suppressed(ctx, change):
|
def embed_suppressed(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed["url"] = create_article_path("")
|
embed["url"] = ctx.client.create_article_path("")
|
||||||
embed["title"] = ctx._("Action has been hidden by administration")
|
embed["title"] = ctx._("Action has been hidden by administration")
|
||||||
embed["author"]["name"] = ctx._("Unknown")
|
embed["author"]["name"] = ctx._("Unknown")
|
||||||
return embed
|
return embed
|
||||||
|
@ -743,16 +743,16 @@ def embed_suppressed(ctx, change):
|
||||||
@formatter.compact(event="suppressed", mode="compact")
|
@formatter.compact(event="suppressed", mode="compact")
|
||||||
def compact_suppressed(ctx, change):
|
def compact_suppressed(ctx, change):
|
||||||
content = ctx._("An action has been hidden by administration.")
|
content = ctx._("An action has been hidden by administration.")
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# import/upload - Importing pages by uploading exported XML files
|
# import/upload - Importing pages by uploading exported XML files
|
||||||
|
|
||||||
@formatter.embed(event="import/upload", mode="embed")
|
@formatter.embed(event="import/upload", mode="embed")
|
||||||
def embed_import_upload(ctx, change):
|
def embed_import_upload(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx.ngettext("Imported {article} with {count} revision",
|
embed["title"] = ctx.ngettext("Imported {article} with {count} revision",
|
||||||
"Imported {article} with {count} revisions", change["logparams"]["count"]).format(
|
"Imported {article} with {count} revisions", change["logparams"]["count"]).format(
|
||||||
article=sanitize_to_markdown(change["title"]), count=change["logparams"]["count"])
|
article=sanitize_to_markdown(change["title"]), count=change["logparams"]["count"])
|
||||||
|
@ -761,7 +761,7 @@ def embed_import_upload(ctx, change):
|
||||||
|
|
||||||
@formatter.compact(event="import/upload", mode="compact")
|
@formatter.compact(event="import/upload", mode="compact")
|
||||||
def compact_import_upload(ctx, change):
|
def compact_import_upload(ctx, change):
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx.ngettext("[{author}]({author_url}) imported [{article}]({article_url}) with {count} revision{comment}",
|
content = ctx.ngettext("[{author}]({author_url}) imported [{article}]({article_url}) with {count} revision{comment}",
|
||||||
|
@ -769,7 +769,7 @@ def compact_import_upload(ctx, change):
|
||||||
change["logparams"]["count"]).format(
|
change["logparams"]["count"]).format(
|
||||||
author=author, author_url=author_url, article=sanitize_to_markdown(change["title"]), article_url=link,
|
author=author, author_url=author_url, article=sanitize_to_markdown(change["title"]), article_url=link,
|
||||||
count=change["logparams"]["count"], comment=parsed_comment)
|
count=change["logparams"]["count"], comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# import/interwiki - Importing interwiki entries
|
# import/interwiki - Importing interwiki entries
|
||||||
|
@ -777,9 +777,9 @@ def compact_import_upload(ctx, change):
|
||||||
|
|
||||||
@formatter.embed(event="import/interwiki", mode="embed")
|
@formatter.embed(event="import/interwiki", mode="embed")
|
||||||
def embed_import_interwiki(ctx, change):
|
def embed_import_interwiki(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx.ngettext("Imported {article} with {count} revision from \"{source}\"",
|
embed["title"] = ctx.ngettext("Imported {article} with {count} revision from \"{source}\"",
|
||||||
"Imported {article} with {count} revisions from \"{source}\"",
|
"Imported {article} with {count} revisions from \"{source}\"",
|
||||||
change["logparams"]["count"]).format(
|
change["logparams"]["count"]).format(
|
||||||
|
@ -790,9 +790,9 @@ def embed_import_interwiki(ctx, change):
|
||||||
|
|
||||||
@formatter.compact(event="import/interwiki", mode="compact")
|
@formatter.compact(event="import/interwiki", mode="compact")
|
||||||
def compact_import_interwiki(ctx, change):
|
def compact_import_interwiki(ctx, change):
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
source_link = clean_link(create_article_path(change["logparams"]["interwiki_title"]))
|
source_link = clean_link(ctx.client.create_article_path(change["logparams"]["interwiki_title"]))
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx.ngettext(
|
content = ctx.ngettext(
|
||||||
"[{author}]({author_url}) imported [{article}]({article_url}) with {count} revision from [{source}]({source_url}){comment}",
|
"[{author}]({author_url}) imported [{article}]({article_url}) with {count} revision from [{source}]({source_url}){comment}",
|
||||||
|
@ -802,7 +802,7 @@ def compact_import_interwiki(ctx, change):
|
||||||
count=change["logparams"]["count"], source=sanitize_to_markdown(change["logparams"]["interwiki_title"]),
|
count=change["logparams"]["count"], source=sanitize_to_markdown(change["logparams"]["interwiki_title"]),
|
||||||
source_url=source_link,
|
source_url=source_link,
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# rights/rights - Assigning rights groups
|
# rights/rights - Assigning rights groups
|
||||||
|
@ -824,8 +824,8 @@ def get_changed_groups(change: dict, ctx: Context) -> [[str], [str]]:
|
||||||
|
|
||||||
@formatter.embed(event="rights/rights", aliases=["rights/autopromote"])
|
@formatter.embed(event="rights/rights", aliases=["rights/autopromote"])
|
||||||
def embed_rights_rights(ctx, change):
|
def embed_rights_rights(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed["url"] = create_article_path(sanitize_to_url("User:{}".format(change["title"].split(":")[1])))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url("User:{}".format(change["title"].split(":")[1])))
|
||||||
if ctx.event == "rights/rights":
|
if ctx.event == "rights/rights":
|
||||||
embed["title"] = ctx._("Changed group membership for {target}").format(target=sanitize_to_markdown(change["title"].split(":")[1]))
|
embed["title"] = ctx._("Changed group membership for {target}").format(target=sanitize_to_markdown(change["title"].split(":")[1]))
|
||||||
else:
|
else:
|
||||||
|
@ -845,7 +845,7 @@ def embed_rights_rights(ctx, change):
|
||||||
|
|
||||||
@formatter.compact(event="rights/rights", aliases=["rights/autopromote"])
|
@formatter.compact(event="rights/rights", aliases=["rights/autopromote"])
|
||||||
def compact_rights_rights(ctx, change):
|
def compact_rights_rights(ctx, change):
|
||||||
link = clean_link(create_article_path(sanitize_to_url("User:{user}".format(user=change["title"].split(":")[1]))))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url("User:{user}".format(user=change["title"].split(":")[1]))))
|
||||||
added, removed = get_changed_groups(change, ctx)
|
added, removed = get_changed_groups(change, ctx)
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
|
@ -865,16 +865,16 @@ def compact_rights_rights(ctx, change):
|
||||||
content = ctx._("The system autopromoted [{target}]({target_url}) to {added}.{comment}").format(
|
content = ctx._("The system autopromoted [{target}]({target_url}) to {added}.{comment}").format(
|
||||||
target=sanitize_to_markdown(change["title"].split(":")[1]), target_url=link,
|
target=sanitize_to_markdown(change["title"].split(":")[1]), target_url=link,
|
||||||
added=ctx._(", ").join(added), comment=parsed_comment)
|
added=ctx._(", ").join(added), comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# merge/merge - Merging histories of two pages
|
# merge/merge - Merging histories of two pages
|
||||||
|
|
||||||
@formatter.embed(event="merge/merge", mode="embed")
|
@formatter.embed(event="merge/merge", mode="embed")
|
||||||
def embed_merge_merge(ctx, change):
|
def embed_merge_merge(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Merged revision histories of {article} into {dest}").format(
|
embed["title"] = ctx._("Merged revision histories of {article} into {dest}").format(
|
||||||
article=sanitize_to_markdown(change["title"]),
|
article=sanitize_to_markdown(change["title"]),
|
||||||
dest=sanitize_to_markdown(change["logparams"][
|
dest=sanitize_to_markdown(change["logparams"][
|
||||||
|
@ -886,13 +886,13 @@ def embed_merge_merge(ctx, change):
|
||||||
def compact_merge_merge(ctx, change):
|
def compact_merge_merge(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
link_dest = clean_link(create_article_path(sanitize_to_url(change["logparams"]["dest_title"])))
|
link_dest = clean_link(ctx.client.create_article_path(sanitize_to_url(change["logparams"]["dest_title"])))
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"[{author}]({author_url}) merged revision histories of [{article}]({article_url}) into [{dest}]({dest_url}){comment}").format(
|
"[{author}]({author_url}) merged revision histories of [{article}]({article_url}) into [{dest}]({dest_url}){comment}").format(
|
||||||
author=author, author_url=author_url, article=sanitize_to_markdown(change["title"]), article_url=link, dest_url=link_dest,
|
author=author, author_url=author_url, article=sanitize_to_markdown(change["title"]), article_url=link, dest_url=link_dest,
|
||||||
dest=sanitize_to_markdown(change["logparams"]["dest_title"]), comment=parsed_comment)
|
dest=sanitize_to_markdown(change["logparams"]["dest_title"]), comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# newusers/autocreate - Auto creation of user account
|
# newusers/autocreate - Auto creation of user account
|
||||||
|
@ -900,9 +900,9 @@ def compact_merge_merge(ctx, change):
|
||||||
|
|
||||||
@formatter.embed(event="newusers/autocreate", mode="embed")
|
@formatter.embed(event="newusers/autocreate", mode="embed")
|
||||||
def embed_newusers_autocreate(ctx, change):
|
def embed_newusers_autocreate(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Created account automatically")
|
embed["title"] = ctx._("Created account automatically")
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -912,7 +912,7 @@ def compact_newusers_autocreate(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
content = ctx._("Account [{author}]({author_url}) was created automatically").format(author=author,
|
content = ctx._("Account [{author}]({author_url}) was created automatically").format(author=author,
|
||||||
author_url=author_url)
|
author_url=author_url)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# newusers/create - Auto creation of user account
|
# newusers/create - Auto creation of user account
|
||||||
|
@ -920,9 +920,9 @@ def compact_newusers_autocreate(ctx, change):
|
||||||
|
|
||||||
@formatter.embed(event="newusers/create", mode="embed")
|
@formatter.embed(event="newusers/create", mode="embed")
|
||||||
def embed_newusers_create(ctx, change):
|
def embed_newusers_create(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Created account")
|
embed["title"] = ctx._("Created account")
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -931,7 +931,7 @@ def embed_newusers_create(ctx, change):
|
||||||
def compact_newusers_create(ctx, change):
|
def compact_newusers_create(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
content = ctx._("Account [{author}]({author_url}) was created").format(author=author, author_url=author_url)
|
content = ctx._("Account [{author}]({author_url}) was created").format(author=author, author_url=author_url)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# newusers/autocreate - Auto creation of user account
|
# newusers/autocreate - Auto creation of user account
|
||||||
|
@ -939,9 +939,9 @@ def compact_newusers_create(ctx, change):
|
||||||
|
|
||||||
@formatter.embed(event="newusers/create2", mode="embed")
|
@formatter.embed(event="newusers/create2", mode="embed")
|
||||||
def embed_newusers_create2(ctx, change):
|
def embed_newusers_create2(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Created account {article}").format(article=sanitize_to_markdown(change["title"]))
|
embed["title"] = ctx._("Created account {article}").format(article=sanitize_to_markdown(change["title"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -950,10 +950,10 @@ def embed_newusers_create2(ctx, change):
|
||||||
def compact_newusers_create2(ctx, change):
|
def compact_newusers_create2(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
content = ctx._("Account [{article}]({article_url}) was created by [{author}]({author_url}){comment}").format(
|
content = ctx._("Account [{article}]({article_url}) was created by [{author}]({author_url}){comment}").format(
|
||||||
article=sanitize_to_markdown(change["title"]), article_url=link, author=author, author_url=author_url, comment=parsed_comment)
|
article=sanitize_to_markdown(change["title"]), article_url=link, author=author, author_url=author_url, comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# newusers/byemail - Creation of account by email
|
# newusers/byemail - Creation of account by email
|
||||||
|
@ -961,9 +961,9 @@ def compact_newusers_create2(ctx, change):
|
||||||
|
|
||||||
@formatter.embed(event="newusers/byemail", mode="embed")
|
@formatter.embed(event="newusers/byemail", mode="embed")
|
||||||
def embed_newusers_byemail(ctx, change):
|
def embed_newusers_byemail(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Created account {article} and password was sent by email").format(
|
embed["title"] = ctx._("Created account {article} and password was sent by email").format(
|
||||||
article=sanitize_to_markdown(change["title"]))
|
article=sanitize_to_markdown(change["title"]))
|
||||||
return embed
|
return embed
|
||||||
|
@ -973,11 +973,11 @@ def embed_newusers_byemail(ctx, change):
|
||||||
def compact_newusers_byemail(ctx, change):
|
def compact_newusers_byemail(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"Account [{article}]({article_url}) was created by [{author}]({author_url}) and password was sent by email{comment}").format(
|
"Account [{article}]({article_url}) was created by [{author}]({author_url}) and password was sent by email{comment}").format(
|
||||||
article=sanitize_to_markdown(change["title"]), article_url=link, author=author, author_url=author_url, comment=parsed_comment)
|
article=sanitize_to_markdown(change["title"]), article_url=link, author=author, author_url=author_url, comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# newusers/newusers - New users
|
# newusers/newusers - New users
|
||||||
|
@ -985,9 +985,9 @@ def compact_newusers_byemail(ctx, change):
|
||||||
|
|
||||||
@formatter.embed(event="newusers/newusers", mode="embed")
|
@formatter.embed(event="newusers/newusers", mode="embed")
|
||||||
def embed_newusers_newusers(ctx, change):
|
def embed_newusers_newusers(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url("User:{}".format(change["user"])))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url("User:{}".format(change["user"])))
|
||||||
embed["title"] = ctx._("Created account")
|
embed["title"] = ctx._("Created account")
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -996,7 +996,7 @@ def embed_newusers_newusers(ctx, change):
|
||||||
def compact_newusers_newusers(ctx, change):
|
def compact_newusers_newusers(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
content = ctx._("Account [{author}]({author_url}) was created").format(author=author, author_url=author_url)
|
content = ctx._("Account [{author}]({author_url}) was created").format(author=author, author_url=author_url)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# newusers/reclaim - New user reclaimed
|
# newusers/reclaim - New user reclaimed
|
||||||
|
@ -1004,9 +1004,9 @@ def compact_newusers_newusers(ctx, change):
|
||||||
|
|
||||||
@formatter.embed(event="newusers/reclaim", mode="embed")
|
@formatter.embed(event="newusers/reclaim", mode="embed")
|
||||||
def embed_newusers_reclaim(ctx, change):
|
def embed_newusers_reclaim(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url("User:{}".format(change["user"])))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url("User:{}".format(change["user"])))
|
||||||
embed["title"] = ctx._("Reclaimed account")
|
embed["title"] = ctx._("Reclaimed account")
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -1015,7 +1015,7 @@ def embed_newusers_reclaim(ctx, change):
|
||||||
def compact_newusers_reclaim(ctx, change):
|
def compact_newusers_reclaim(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
content = ctx._("Account [{author}]({author_url}) was reclaimed").format(author=author, author_url=author_url)
|
content = ctx._("Account [{author}]({author_url}) was reclaimed").format(author=author, author_url=author_url)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# contentmodel/change - Changing the content model of a page
|
# contentmodel/change - Changing the content model of a page
|
||||||
|
@ -1023,9 +1023,9 @@ def compact_newusers_reclaim(ctx, change):
|
||||||
|
|
||||||
@formatter.embed(event="contentmodel/change", mode="embed")
|
@formatter.embed(event="contentmodel/change", mode="embed")
|
||||||
def embed_contentmodel_change(ctx, change):
|
def embed_contentmodel_change(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change, set_desc=False)
|
embed_helper(ctx, embed, change, set_desc=False)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Changed the content model of the page {article}").format(
|
embed["title"] = ctx._("Changed the content model of the page {article}").format(
|
||||||
article=sanitize_to_markdown(change["title"]))
|
article=sanitize_to_markdown(change["title"]))
|
||||||
embed["description"] = ctx._("Model changed from {old} to {new}: {reason}").format(old=change["logparams"]["oldmodel"],
|
embed["description"] = ctx._("Model changed from {old} to {new}: {reason}").format(old=change["logparams"]["oldmodel"],
|
||||||
|
@ -1037,14 +1037,14 @@ def embed_contentmodel_change(ctx, change):
|
||||||
@formatter.compact(event="contentmodel/change")
|
@formatter.compact(event="contentmodel/change")
|
||||||
def compact_contentmodel_change(ctx, change):
|
def compact_contentmodel_change(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"[{author}]({author_url}) changed the content model of the page [{article}]({article_url}) from {old} to {new}{comment}").format(
|
"[{author}]({author_url}) changed the content model of the page [{article}]({article_url}) from {old} to {new}{comment}").format(
|
||||||
author=author, author_url=author_url, article=sanitize_to_markdown(change["title"]), article_url=link,
|
author=author, author_url=author_url, article=sanitize_to_markdown(change["title"]), article_url=link,
|
||||||
old=change["logparams"]["oldmodel"],
|
old=change["logparams"]["oldmodel"],
|
||||||
new=change["logparams"]["newmodel"], comment=parsed_comment)
|
new=change["logparams"]["newmodel"], comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# contentmodel/new - Creating a page with non-default content model
|
# contentmodel/new - Creating a page with non-default content model
|
||||||
|
@ -1052,9 +1052,9 @@ def compact_contentmodel_change(ctx, change):
|
||||||
|
|
||||||
@formatter.embed(event="contentmodel/new", mode="embed")
|
@formatter.embed(event="contentmodel/new", mode="embed")
|
||||||
def embed_contentmodel_new(ctx, change):
|
def embed_contentmodel_new(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change, set_desc=False)
|
embed_helper(ctx, embed, change, set_desc=False)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Created the page {article} using a non-default content model").format(
|
embed["title"] = ctx._("Created the page {article} using a non-default content model").format(
|
||||||
article=sanitize_to_markdown(change["title"]))
|
article=sanitize_to_markdown(change["title"]))
|
||||||
embed["description"] = ctx._("Created with model {new}: {reason}").format(new=change["logparams"]["newmodel"],
|
embed["description"] = ctx._("Created with model {new}: {reason}").format(new=change["logparams"]["newmodel"],
|
||||||
|
@ -1065,13 +1065,13 @@ def embed_contentmodel_new(ctx, change):
|
||||||
@formatter.compact(event="contentmodel/new")
|
@formatter.compact(event="contentmodel/new")
|
||||||
def compact_contentmodel_new(ctx, change):
|
def compact_contentmodel_new(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"[{author}]({author_url}) created the page [{article}]({article_url}) using a non-default content model {new}{comment}").format(
|
"[{author}]({author_url}) created the page [{article}]({article_url}) using a non-default content model {new}{comment}").format(
|
||||||
author=author, author_url=author_url, article=sanitize_to_markdown(change["title"]), article_url=link,
|
author=author, author_url=author_url, article=sanitize_to_markdown(change["title"]), article_url=link,
|
||||||
new=change["logparams"]["newmodel"], comment=parsed_comment)
|
new=change["logparams"]["newmodel"], comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# managetags/create - Creating log tags
|
# managetags/create - Creating log tags
|
||||||
|
@ -1079,10 +1079,10 @@ def compact_contentmodel_new(ctx, change):
|
||||||
|
|
||||||
@formatter.embed(event="managetags/create", mode="embed")
|
@formatter.embed(event="managetags/create", mode="embed")
|
||||||
def embed_managetags_create(ctx, change):
|
def embed_managetags_create(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
ctx.client.refresh_internal_data()
|
ctx.client.refresh_internal_data()
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Created the tag \"{tag}\"").format(tag=sanitize_to_markdown(change["logparams"]["tag"]))
|
embed["title"] = ctx._("Created the tag \"{tag}\"").format(tag=sanitize_to_markdown(change["logparams"]["tag"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -1090,7 +1090,7 @@ def embed_managetags_create(ctx, change):
|
||||||
@formatter.compact(event="managetags/create")
|
@formatter.compact(event="managetags/create")
|
||||||
def compact_managetags_create(ctx, change):
|
def compact_managetags_create(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
ctx.client.refresh_internal_data()
|
ctx.client.refresh_internal_data()
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._("[{author}]({author_url}) created the [tag]({tag_url}) \"{tag}\"{comment}").format(author=author,
|
content = ctx._("[{author}]({author_url}) created the [tag]({tag_url}) \"{tag}\"{comment}").format(author=author,
|
||||||
|
@ -1103,7 +1103,7 @@ def compact_managetags_create(ctx, change):
|
||||||
tag_url=link,
|
tag_url=link,
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
|
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# managetags/delete - Deleting a tag
|
# managetags/delete - Deleting a tag
|
||||||
|
@ -1111,9 +1111,9 @@ def compact_managetags_create(ctx, change):
|
||||||
|
|
||||||
@formatter.embed(event="managetags/delete", mode="embed")
|
@formatter.embed(event="managetags/delete", mode="embed")
|
||||||
def embed_managetags_delete(ctx, change):
|
def embed_managetags_delete(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
ctx.client.refresh_internal_data()
|
ctx.client.refresh_internal_data()
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Deleted the tag \"{tag}\"").format(tag=sanitize_to_markdown(change["logparams"]["tag"]))
|
embed["title"] = ctx._("Deleted the tag \"{tag}\"").format(tag=sanitize_to_markdown(change["logparams"]["tag"]))
|
||||||
if change["logparams"]["count"] > 0:
|
if change["logparams"]["count"] > 0:
|
||||||
embed.add_field(ctx._('Removed from'), ctx.ngettext("{} revision or log entry", "{} revisions and/or log entries",
|
embed.add_field(ctx._('Removed from'), ctx.ngettext("{} revision or log entry", "{} revisions and/or log entries",
|
||||||
|
@ -1125,7 +1125,7 @@ def embed_managetags_delete(ctx, change):
|
||||||
@formatter.compact(event="managetags/delete")
|
@formatter.compact(event="managetags/delete")
|
||||||
def compact_managetags_delete(ctx, change):
|
def compact_managetags_delete(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
ctx.client.refresh_internal_data()
|
ctx.client.refresh_internal_data()
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
if change["logparams"]["count"] == 0:
|
if change["logparams"]["count"] == 0:
|
||||||
|
@ -1145,7 +1145,7 @@ def compact_managetags_delete(ctx, change):
|
||||||
tag=sanitize_to_markdown(change["logparams"]["tag"]),
|
tag=sanitize_to_markdown(change["logparams"]["tag"]),
|
||||||
tag_url=link, count=change["logparams"]["count"],
|
tag_url=link, count=change["logparams"]["count"],
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# managetags/activate - Activating a tag
|
# managetags/activate - Activating a tag
|
||||||
|
@ -1153,9 +1153,9 @@ def compact_managetags_delete(ctx, change):
|
||||||
|
|
||||||
@formatter.embed(event="managetags/activate", mode="embed")
|
@formatter.embed(event="managetags/activate", mode="embed")
|
||||||
def embed_managetags_activate(ctx, change):
|
def embed_managetags_activate(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Activated the tag \"{tag}\"").format(tag=sanitize_to_markdown(change["logparams"]["tag"]))
|
embed["title"] = ctx._("Activated the tag \"{tag}\"").format(tag=sanitize_to_markdown(change["logparams"]["tag"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -1163,7 +1163,7 @@ def embed_managetags_activate(ctx, change):
|
||||||
@formatter.compact(event="managetags/activate")
|
@formatter.compact(event="managetags/activate")
|
||||||
def compact_managetags_activate(ctx, change):
|
def compact_managetags_activate(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._("[{author}]({author_url}) activated the [tag]({tag_url}) \"{tag}\"{comment}").format(author=author,
|
content = ctx._("[{author}]({author_url}) activated the [tag]({tag_url}) \"{tag}\"{comment}").format(author=author,
|
||||||
author_url=author_url,
|
author_url=author_url,
|
||||||
|
@ -1173,7 +1173,7 @@ def compact_managetags_activate(ctx, change):
|
||||||
"tag"]),
|
"tag"]),
|
||||||
tag_url=link,
|
tag_url=link,
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# managetags/deactivate - Deactivating a tag
|
# managetags/deactivate - Deactivating a tag
|
||||||
|
@ -1181,9 +1181,9 @@ def compact_managetags_activate(ctx, change):
|
||||||
|
|
||||||
@formatter.embed(event="managetags/deactivate", mode="embed")
|
@formatter.embed(event="managetags/deactivate", mode="embed")
|
||||||
def embed_managetags_deactivate(ctx, change):
|
def embed_managetags_deactivate(ctx, change):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Deactivated the tag \"{tag}\"").format(tag=sanitize_to_markdown(change["logparams"]["tag"]))
|
embed["title"] = ctx._("Deactivated the tag \"{tag}\"").format(tag=sanitize_to_markdown(change["logparams"]["tag"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -1191,7 +1191,7 @@ def embed_managetags_deactivate(ctx, change):
|
||||||
@formatter.compact(event="managetags/deactivate")
|
@formatter.compact(event="managetags/deactivate")
|
||||||
def compact_managetags_deactivate(ctx, change):
|
def compact_managetags_deactivate(ctx, change):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
content = ctx._("[{author}]({author_url}) deactivated the [tag]({tag_url}) \"{tag}\"{comment}").format(author=author,
|
content = ctx._("[{author}]({author_url}) deactivated the [tag]({tag_url}) \"{tag}\"{comment}").format(author=author,
|
||||||
author_url=author_url,
|
author_url=author_url,
|
||||||
|
@ -1201,4 +1201,4 @@ def compact_managetags_deactivate(ctx, change):
|
||||||
"tag"]),
|
"tag"]),
|
||||||
tag_url=link,
|
tag_url=link,
|
||||||
comment=parsed_comment)
|
comment=parsed_comment)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
|
@ -18,7 +18,7 @@ import logging
|
||||||
from src.discord.message import DiscordMessage
|
from src.discord.message import DiscordMessage
|
||||||
from src.api import formatter
|
from src.api import formatter
|
||||||
from src.api.context import Context
|
from src.api.context import Context
|
||||||
from src.api.util import embed_helper, compact_summary, clean_link, compact_author, create_article_path, sanitize_to_markdown, sanitize_to_url
|
from src.api.util import embed_helper, compact_summary, clean_link, compact_author, sanitize_to_markdown, sanitize_to_url
|
||||||
|
|
||||||
# Renameuser - https://www.mediawiki.org/wiki/Extension:Renameuser
|
# Renameuser - https://www.mediawiki.org/wiki/Extension:Renameuser
|
||||||
# renameuser/renameuser - Renaming a user
|
# renameuser/renameuser - Renaming a user
|
||||||
|
@ -26,7 +26,7 @@ from src.api.util import embed_helper, compact_summary, clean_link, compact_auth
|
||||||
|
|
||||||
@formatter.embed(event="renameuser/renameuser")
|
@formatter.embed(event="renameuser/renameuser")
|
||||||
def embed_renameuser_renameuser(ctx: Context, change: dict) -> DiscordMessage:
|
def embed_renameuser_renameuser(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
edits = change["logparams"]["edits"]
|
edits = change["logparams"]["edits"]
|
||||||
if edits > 0:
|
if edits > 0:
|
||||||
|
@ -38,14 +38,14 @@ def embed_renameuser_renameuser(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
embed["title"] = ctx._("Renamed user \"{old_name}\" to \"{new_name}\"").format(
|
embed["title"] = ctx._("Renamed user \"{old_name}\" to \"{new_name}\"").format(
|
||||||
old_name=sanitize_to_markdown(change["logparams"]["olduser"]),
|
old_name=sanitize_to_markdown(change["logparams"]["olduser"]),
|
||||||
new_name=sanitize_to_markdown(change["logparams"]["newuser"]))
|
new_name=sanitize_to_markdown(change["logparams"]["newuser"]))
|
||||||
embed["url"] = create_article_path("User:" + sanitize_to_url(change["logparams"]["newuser"]))
|
embed["url"] = ctx.client.create_article_path("User:" + sanitize_to_url(change["logparams"]["newuser"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
|
||||||
@formatter.compact(event="renameuser/renameuser")
|
@formatter.compact(event="renameuser/renameuser")
|
||||||
def compact_renameuser_renameuser(ctx: Context, change: dict) -> DiscordMessage:
|
def compact_renameuser_renameuser(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path("User:" + sanitize_to_url(change["logparams"]["newuser"])))
|
link = clean_link(ctx.client.create_article_path("User:" + sanitize_to_url(change["logparams"]["newuser"])))
|
||||||
edits = change["logparams"]["edits"]
|
edits = change["logparams"]["edits"]
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
if edits > 0:
|
if edits > 0:
|
||||||
|
@ -62,4 +62,4 @@ def compact_renameuser_renameuser(ctx: Context, change: dict) -> DiscordMessage:
|
||||||
author=author, author_url=author_url, old_name=sanitize_to_markdown(change["logparams"]["olduser"]),
|
author=author, author_url=author_url, old_name=sanitize_to_markdown(change["logparams"]["olduser"]),
|
||||||
new_name=sanitize_to_markdown(change["logparams"]["newuser"]), link=link, comment=parsed_comment
|
new_name=sanitize_to_markdown(change["logparams"]["newuser"]), link=link, comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
|
@ -17,8 +17,7 @@ import logging
|
||||||
from src.discord.message import DiscordMessage
|
from src.discord.message import DiscordMessage
|
||||||
from src.api import formatter
|
from src.api import formatter
|
||||||
from src.api.context import Context
|
from src.api.context import Context
|
||||||
from src.api.util import embed_helper, compact_author, create_article_path, sanitize_to_markdown, sanitize_to_url, \
|
from src.api.util import embed_helper, compact_author, sanitize_to_markdown, sanitize_to_url, clean_link
|
||||||
clean_link
|
|
||||||
|
|
||||||
|
|
||||||
# SpriteSheet - https://www.mediawiki.org/wiki/Extension:SpriteSheet
|
# SpriteSheet - https://www.mediawiki.org/wiki/Extension:SpriteSheet
|
||||||
|
@ -27,9 +26,9 @@ from src.api.util import embed_helper, compact_author, create_article_path, sani
|
||||||
|
|
||||||
@formatter.embed(event="sprite/sprite")
|
@formatter.embed(event="sprite/sprite")
|
||||||
def embed_sprite_sprite(ctx: Context, change: dict):
|
def embed_sprite_sprite(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Edited the sprite for {article}").format(article=sanitize_to_markdown(change["title"]))
|
embed["title"] = ctx._("Edited the sprite for {article}").format(article=sanitize_to_markdown(change["title"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -37,22 +36,22 @@ def embed_sprite_sprite(ctx: Context, change: dict):
|
||||||
@formatter.compact(event="sprite/sprite")
|
@formatter.compact(event="sprite/sprite")
|
||||||
def compact_sprite_sprite(ctx: Context, change: dict):
|
def compact_sprite_sprite(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
content = ctx._("[{author}]({author_url}) edited the sprite for [{article}]({article_url})").format(author=author,
|
content = ctx._("[{author}]({author_url}) edited the sprite for [{article}]({article_url})").format(author=author,
|
||||||
author_url=author_url,
|
author_url=author_url,
|
||||||
article=sanitize_to_markdown(change[
|
article=sanitize_to_markdown(change[
|
||||||
"title"]),
|
"title"]),
|
||||||
article_url=link)
|
article_url=link)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# sprite/sheet - Creating a sprite sheet
|
# sprite/sheet - Creating a sprite sheet
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="sprite/sheet")
|
@formatter.embed(event="sprite/sheet")
|
||||||
def embed_sprite_sheet(ctx: Context, change: dict):
|
def embed_sprite_sheet(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Created the sprite sheet for {article}").format(article=sanitize_to_markdown(change["title"]))
|
embed["title"] = ctx._("Created the sprite sheet for {article}").format(article=sanitize_to_markdown(change["title"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -60,28 +59,28 @@ def embed_sprite_sheet(ctx: Context, change: dict):
|
||||||
@formatter.compact(event="sprite/sheet")
|
@formatter.compact(event="sprite/sheet")
|
||||||
def compact_sprite_sheet(ctx: Context, change: dict):
|
def compact_sprite_sheet(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
content = ctx._("[{author}]({author_url}) created the sprite sheet for [{article}]({article_url})").format(author=author, author_url=author_url, article=sanitize_to_markdown(change["title"]), article_url=link)
|
content = ctx._("[{author}]({author_url}) created the sprite sheet for [{article}]({article_url})").format(author=author, author_url=author_url, article=sanitize_to_markdown(change["title"]), article_url=link)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# sprite/slice - Editing a slice
|
# sprite/slice - Editing a slice
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="sprite/slice")
|
@formatter.embed(event="sprite/slice")
|
||||||
def embed_sprite_slice(ctx: Context, change: dict):
|
def embed_sprite_slice(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Edited the slice for {article}").format(article=sanitize_to_markdown(change["title"]))
|
embed["title"] = ctx._("Edited the slice for {article}").format(article=sanitize_to_markdown(change["title"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
@formatter.compact(event="sprite/slice")
|
@formatter.compact(event="sprite/slice")
|
||||||
def compact_sprite_slice(ctx: Context, change: dict):
|
def compact_sprite_slice(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
content = ctx._("[{author}]({author_url}) edited the slice for [{article}]({article_url})").format(author=author,
|
content = ctx._("[{author}]({author_url}) edited the slice for [{article}]({article_url})").format(author=author,
|
||||||
author_url=author_url,
|
author_url=author_url,
|
||||||
article=sanitize_to_markdown(change[
|
article=sanitize_to_markdown(change[
|
||||||
"title"]),
|
"title"]),
|
||||||
article_url=link)
|
article_url=link)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
|
@ -17,8 +17,7 @@ import logging
|
||||||
from src.discord.message import DiscordMessage
|
from src.discord.message import DiscordMessage
|
||||||
from src.api import formatter
|
from src.api import formatter
|
||||||
from src.api.context import Context
|
from src.api.context import Context
|
||||||
from src.api.util import embed_helper, compact_author, create_article_path, sanitize_to_markdown, sanitize_to_url, \
|
from src.api.util import embed_helper, compact_author, sanitize_to_markdown, sanitize_to_url, clean_link, compact_summary
|
||||||
clean_link, compact_summary
|
|
||||||
|
|
||||||
# I cried when I realized I have to migrate Translate extension logs, but this way I atone for my countless sins
|
# I cried when I realized I have to migrate Translate extension logs, but this way I atone for my countless sins
|
||||||
# Translate - https://www.mediawiki.org/wiki/Extension:Translate
|
# Translate - https://www.mediawiki.org/wiki/Extension:Translate
|
||||||
|
@ -27,9 +26,9 @@ from src.api.util import embed_helper, compact_author, create_article_path, sani
|
||||||
|
|
||||||
@formatter.embed(event="pagetranslation/mark")
|
@formatter.embed(event="pagetranslation/mark")
|
||||||
def embed_pagetranslation_mark(ctx: Context, change: dict):
|
def embed_pagetranslation_mark(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
link = create_article_path(sanitize_to_url(change["title"]))
|
link = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
if "?" in link:
|
if "?" in link:
|
||||||
embed["url"] = link + "&oldid={}".format(change["logparams"]["revision"])
|
embed["url"] = link + "&oldid={}".format(change["logparams"]["revision"])
|
||||||
else:
|
else:
|
||||||
|
@ -41,7 +40,7 @@ def embed_pagetranslation_mark(ctx: Context, change: dict):
|
||||||
@formatter.compact(event="pagetranslation/mark")
|
@formatter.compact(event="pagetranslation/mark")
|
||||||
def compact_pagetranslation_mark(ctx: Context, change: dict):
|
def compact_pagetranslation_mark(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
link = create_article_path(sanitize_to_url(change["title"]))
|
link = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
if "?" in link:
|
if "?" in link:
|
||||||
link = link + "&oldid={}".format(change["logparams"]["revision"])
|
link = link + "&oldid={}".format(change["logparams"]["revision"])
|
||||||
else:
|
else:
|
||||||
|
@ -53,16 +52,16 @@ def compact_pagetranslation_mark(ctx: Context, change: dict):
|
||||||
article=sanitize_to_markdown(change["title"]), article_url=link,
|
article=sanitize_to_markdown(change["title"]), article_url=link,
|
||||||
comment=parsed_comment
|
comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# pagetranslation/unmark - Removing a page from translation system
|
# pagetranslation/unmark - Removing a page from translation system
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="pagetranslation/unmark")
|
@formatter.embed(event="pagetranslation/unmark")
|
||||||
def embed_pagetranslation_unmark(ctx: Context, change: dict):
|
def embed_pagetranslation_unmark(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Removed \"{article}\" from the translation system").format(article=sanitize_to_markdown(change["title"]))
|
embed["title"] = ctx._("Removed \"{article}\" from the translation system").format(article=sanitize_to_markdown(change["title"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -71,23 +70,23 @@ def embed_pagetranslation_unmark(ctx: Context, change: dict):
|
||||||
def compact_pagetranslation_unmark(ctx: Context, change: dict):
|
def compact_pagetranslation_unmark(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"[{author}]({author_url}) removed [{article}]({article_url}) from the translation system{comment}").format(
|
"[{author}]({author_url}) removed [{article}]({article_url}) from the translation system{comment}").format(
|
||||||
author=author, author_url=author_url,
|
author=author, author_url=author_url,
|
||||||
article=sanitize_to_markdown(change["title"]), article_url=link,
|
article=sanitize_to_markdown(change["title"]), article_url=link,
|
||||||
comment=parsed_comment
|
comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# pagetranslation/moveok - Completed moving translation page
|
# pagetranslation/moveok - Completed moving translation page
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="pagetranslation/moveok")
|
@formatter.embed(event="pagetranslation/moveok")
|
||||||
def embed_pagetranslation_moveok(ctx: Context, change: dict):
|
def embed_pagetranslation_moveok(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["logparams"]["target"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["logparams"]["target"]))
|
||||||
embed["title"] = ctx._("Completed moving translation pages from \"{article}\" to \"{target}\"").format(
|
embed["title"] = ctx._("Completed moving translation pages from \"{article}\" to \"{target}\"").format(
|
||||||
article=sanitize_to_markdown(change["title"]), target=sanitize_to_markdown(change["logparams"]["target"]))
|
article=sanitize_to_markdown(change["title"]), target=sanitize_to_markdown(change["logparams"]["target"]))
|
||||||
return embed
|
return embed
|
||||||
|
@ -97,23 +96,23 @@ def embed_pagetranslation_moveok(ctx: Context, change: dict):
|
||||||
def compact_pagetranslation_moveok(ctx: Context, change: dict):
|
def compact_pagetranslation_moveok(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["logparams"]["target"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["logparams"]["target"])))
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"[{author}]({author_url}) completed moving translation pages from *{article}* to [{target}]({target_url}){comment}").format(
|
"[{author}]({author_url}) completed moving translation pages from *{article}* to [{target}]({target_url}){comment}").format(
|
||||||
author=author, author_url=author_url,
|
author=author, author_url=author_url,
|
||||||
article=sanitize_to_markdown(change["title"]), target=sanitize_to_markdown(change["logparams"]["target"]),
|
article=sanitize_to_markdown(change["title"]), target=sanitize_to_markdown(change["logparams"]["target"]),
|
||||||
target_url=link, comment=parsed_comment
|
target_url=link, comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# pagetranslation/movenok - Failed while moving translation page
|
# pagetranslation/movenok - Failed while moving translation page
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="pagetranslation/movenok")
|
@formatter.embed(event="pagetranslation/movenok")
|
||||||
def embed_pagetranslation_movenok(ctx: Context, change: dict):
|
def embed_pagetranslation_movenok(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Encountered a problem while moving \"{article}\" to \"{target}\"").format(
|
embed["title"] = ctx._("Encountered a problem while moving \"{article}\" to \"{target}\"").format(
|
||||||
article=sanitize_to_markdown(change["title"]), target=sanitize_to_markdown(change["logparams"]["target"]))
|
article=sanitize_to_markdown(change["title"]), target=sanitize_to_markdown(change["logparams"]["target"]))
|
||||||
return embed
|
return embed
|
||||||
|
@ -123,8 +122,8 @@ def embed_pagetranslation_movenok(ctx: Context, change: dict):
|
||||||
def compact_pagetranslation_movenok(ctx: Context, change: dict):
|
def compact_pagetranslation_movenok(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
target_url = clean_link(create_article_path(sanitize_to_url(change["logparams"]["target"])))
|
target_url = clean_link(ctx.client.create_article_path(sanitize_to_url(change["logparams"]["target"])))
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"[{author}]({author_url}) encountered a problem while moving [{article}]({article_url}) to [{target}]({target_url}){comment}").format(
|
"[{author}]({author_url}) encountered a problem while moving [{article}]({article_url}) to [{target}]({target_url}){comment}").format(
|
||||||
author=author, author_url=author_url,
|
author=author, author_url=author_url,
|
||||||
|
@ -132,16 +131,16 @@ def compact_pagetranslation_movenok(ctx: Context, change: dict):
|
||||||
target=sanitize_to_markdown(change["logparams"]["target"]), target_url=target_url,
|
target=sanitize_to_markdown(change["logparams"]["target"]), target_url=target_url,
|
||||||
comment=parsed_comment
|
comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# pagetranslation/deletefnok - Failure in deletion of translatable page
|
# pagetranslation/deletefnok - Failure in deletion of translatable page
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="pagetranslation/deletefnok")
|
@formatter.embed(event="pagetranslation/deletefnok")
|
||||||
def embed_pagetranslation_deletefnok(ctx: Context, change: dict):
|
def embed_pagetranslation_deletefnok(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Failed to delete \"{article}\" which belongs to translatable page \"{target}\"").format(
|
embed["title"] = ctx._("Failed to delete \"{article}\" which belongs to translatable page \"{target}\"").format(
|
||||||
article=sanitize_to_markdown(change["title"]), target=sanitize_to_markdown(change["logparams"]["target"]))
|
article=sanitize_to_markdown(change["title"]), target=sanitize_to_markdown(change["logparams"]["target"]))
|
||||||
return embed
|
return embed
|
||||||
|
@ -151,8 +150,8 @@ def embed_pagetranslation_deletefnok(ctx: Context, change: dict):
|
||||||
def compact_pagetranslation_deletefnok(ctx: Context, change: dict):
|
def compact_pagetranslation_deletefnok(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
target_url = clean_link(create_article_path(sanitize_to_url(change["logparams"]["target"])))
|
target_url = clean_link(ctx.client.create_article_path(sanitize_to_url(change["logparams"]["target"])))
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"[{author}]({author_url}) failed to delete [{article}]({article_url}) which belongs to translatable page [{target}]({target_url}){comment}").format(
|
"[{author}]({author_url}) failed to delete [{article}]({article_url}) which belongs to translatable page [{target}]({target_url}){comment}").format(
|
||||||
author=author, author_url=author_url,
|
author=author, author_url=author_url,
|
||||||
|
@ -160,16 +159,16 @@ def compact_pagetranslation_deletefnok(ctx: Context, change: dict):
|
||||||
target=sanitize_to_markdown(change["logparams"]["target"]), target_url=target_url,
|
target=sanitize_to_markdown(change["logparams"]["target"]), target_url=target_url,
|
||||||
comment=parsed_comment
|
comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# pagetranslation/deletelok - Completion in deleting a page?
|
# pagetranslation/deletelok - Completion in deleting a page?
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="pagetranslation/deletelok")
|
@formatter.embed(event="pagetranslation/deletelok")
|
||||||
def embed_pagetranslation_deletelok(ctx: Context, change: dict):
|
def embed_pagetranslation_deletelok(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Completed deletion of translation page \"{article}\"").format(
|
embed["title"] = ctx._("Completed deletion of translation page \"{article}\"").format(
|
||||||
article=sanitize_to_markdown(change["title"]))
|
article=sanitize_to_markdown(change["title"]))
|
||||||
return embed
|
return embed
|
||||||
|
@ -179,23 +178,23 @@ def embed_pagetranslation_deletelok(ctx: Context, change: dict):
|
||||||
def compact_pagetranslation_deletelok(ctx: Context, change: dict):
|
def compact_pagetranslation_deletelok(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"[{author}]({author_url}) completed deletion of translation page [{article}]({article_url}){comment}").format(
|
"[{author}]({author_url}) completed deletion of translation page [{article}]({article_url}){comment}").format(
|
||||||
author=author, author_url=author_url,
|
author=author, author_url=author_url,
|
||||||
article=sanitize_to_markdown(change["title"]), article_url=link,
|
article=sanitize_to_markdown(change["title"]), article_url=link,
|
||||||
comment=parsed_comment
|
comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# pagetranslation/deletelnok - Failure in deletion of article belonging to a translation page
|
# pagetranslation/deletelnok - Failure in deletion of article belonging to a translation page
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="pagetranslation/deletelnok")
|
@formatter.embed(event="pagetranslation/deletelnok")
|
||||||
def embed_pagetranslation_deletelnok(ctx: Context, change: dict):
|
def embed_pagetranslation_deletelnok(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Failed to delete \"{article}\" which belongs to translation page \"{target}\"").format(
|
embed["title"] = ctx._("Failed to delete \"{article}\" which belongs to translation page \"{target}\"").format(
|
||||||
article=sanitize_to_markdown(change["title"]), target=sanitize_to_markdown(change["logparams"]["target"]))
|
article=sanitize_to_markdown(change["title"]), target=sanitize_to_markdown(change["logparams"]["target"]))
|
||||||
return embed
|
return embed
|
||||||
|
@ -205,8 +204,8 @@ def embed_pagetranslation_deletelnok(ctx: Context, change: dict):
|
||||||
def compact_pagetranslation_deletelnok(ctx: Context, change: dict):
|
def compact_pagetranslation_deletelnok(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
target_url = clean_link(create_article_path(sanitize_to_url(change["logparams"]["target"])))
|
target_url = clean_link(ctx.client.create_article_path(sanitize_to_url(change["logparams"]["target"])))
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"[{author}]({author_url}) failed to delete [{article}]({article_url}) which belongs to translation page [{target}]({target_url}){comment}").format(
|
"[{author}]({author_url}) failed to delete [{article}]({article_url}) which belongs to translation page [{target}]({target_url}){comment}").format(
|
||||||
author=author, author_url=author_url,
|
author=author, author_url=author_url,
|
||||||
|
@ -214,16 +213,16 @@ def compact_pagetranslation_deletelnok(ctx: Context, change: dict):
|
||||||
target=sanitize_to_markdown(change["logparams"]["target"]), target_url=target_url,
|
target=sanitize_to_markdown(change["logparams"]["target"]), target_url=target_url,
|
||||||
comment=parsed_comment
|
comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# pagetranslation/encourage - Encouraging to translate an article
|
# pagetranslation/encourage - Encouraging to translate an article
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="pagetranslation/encourage")
|
@formatter.embed(event="pagetranslation/encourage")
|
||||||
def embed_pagetranslation_encourage(ctx: Context, change: dict):
|
def embed_pagetranslation_encourage(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Encouraged translation of \"{article}\"").format(article=sanitize_to_markdown(change["title"]))
|
embed["title"] = ctx._("Encouraged translation of \"{article}\"").format(article=sanitize_to_markdown(change["title"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -232,22 +231,22 @@ def embed_pagetranslation_encourage(ctx: Context, change: dict):
|
||||||
def compact_pagetranslation_encourage(ctx: Context, change: dict):
|
def compact_pagetranslation_encourage(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
content = ctx._("[{author}]({author_url}) encouraged translation of [{article}]({article_url}){comment}").format(
|
content = ctx._("[{author}]({author_url}) encouraged translation of [{article}]({article_url}){comment}").format(
|
||||||
author=author, author_url=author_url,
|
author=author, author_url=author_url,
|
||||||
article=sanitize_to_markdown(change["title"]), article_url=link,
|
article=sanitize_to_markdown(change["title"]), article_url=link,
|
||||||
comment=parsed_comment
|
comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# pagetranslation/discourage - Discouraging to translate an article
|
# pagetranslation/discourage - Discouraging to translate an article
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="pagetranslation/discourage")
|
@formatter.embed(event="pagetranslation/discourage")
|
||||||
def embed_pagetranslation_discourage(ctx: Context, change: dict):
|
def embed_pagetranslation_discourage(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Discouraged translation of \"{article}\"").format(article=sanitize_to_markdown(change["title"]))
|
embed["title"] = ctx._("Discouraged translation of \"{article}\"").format(article=sanitize_to_markdown(change["title"]))
|
||||||
return embed
|
return embed
|
||||||
|
|
||||||
|
@ -256,22 +255,22 @@ def embed_pagetranslation_discourage(ctx: Context, change: dict):
|
||||||
def compact_pagetranslation_discourage(ctx: Context, change: dict):
|
def compact_pagetranslation_discourage(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
content = ctx._("[{author}]({author_url}) discouraged translation of [{article}]({article_url}){comment}").format(
|
content = ctx._("[{author}]({author_url}) discouraged translation of [{article}]({article_url}){comment}").format(
|
||||||
author=author, author_url=author_url,
|
author=author, author_url=author_url,
|
||||||
article=sanitize_to_markdown(change["title"]), article_url=link,
|
article=sanitize_to_markdown(change["title"]), article_url=link,
|
||||||
comment=parsed_comment
|
comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# pagetranslation/prioritylanguages - Changing the priority of translations?
|
# pagetranslation/prioritylanguages - Changing the priority of translations?
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="pagetranslation/prioritylanguages")
|
@formatter.embed(event="pagetranslation/prioritylanguages")
|
||||||
def embed_pagetranslation_prioritylanguages(ctx: Context, change: dict):
|
def embed_pagetranslation_prioritylanguages(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
if "languages" in change["logparams"]:
|
if "languages" in change["logparams"]:
|
||||||
languages = "`, `".join(change["logparams"]["languages"].split(","))
|
languages = "`, `".join(change["logparams"]["languages"].split(","))
|
||||||
if change["logparams"]["force"] == "on":
|
if change["logparams"]["force"] == "on":
|
||||||
|
@ -289,7 +288,7 @@ def embed_pagetranslation_prioritylanguages(ctx: Context, change: dict):
|
||||||
def compact_pagetranslation_prioritylanguages(ctx: Context, change: dict):
|
def compact_pagetranslation_prioritylanguages(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
if "languages" in change["logparams"]:
|
if "languages" in change["logparams"]:
|
||||||
languages = "`, `".join(change["logparams"]["languages"].split(","))
|
languages = "`, `".join(change["logparams"]["languages"].split(","))
|
||||||
if change["logparams"]["force"] == "on":
|
if change["logparams"]["force"] == "on":
|
||||||
|
@ -313,7 +312,7 @@ def compact_pagetranslation_prioritylanguages(ctx: Context, change: dict):
|
||||||
article=sanitize_to_markdown(change["title"]), article_url=link,
|
article=sanitize_to_markdown(change["title"]), article_url=link,
|
||||||
comment=parsed_comment
|
comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
|
|
||||||
# pagetranslation/associate - Adding an article to translation group
|
# pagetranslation/associate - Adding an article to translation group
|
||||||
|
@ -321,9 +320,9 @@ def compact_pagetranslation_prioritylanguages(ctx: Context, change: dict):
|
||||||
|
|
||||||
@formatter.embed(event="pagetranslation/associate")
|
@formatter.embed(event="pagetranslation/associate")
|
||||||
def embed_pagetranslation_associate(ctx: Context, change: dict):
|
def embed_pagetranslation_associate(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Added translatable page \"{article}\" to aggregate group \"{group}\"").format(
|
embed["title"] = ctx._("Added translatable page \"{article}\" to aggregate group \"{group}\"").format(
|
||||||
article=sanitize_to_markdown(change["title"]), group=change["logparams"]["aggregategroup"])
|
article=sanitize_to_markdown(change["title"]), group=change["logparams"]["aggregategroup"])
|
||||||
return embed
|
return embed
|
||||||
|
@ -333,23 +332,23 @@ def embed_pagetranslation_associate(ctx: Context, change: dict):
|
||||||
def compact_pagetranslation_associate(ctx: Context, change: dict):
|
def compact_pagetranslation_associate(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"[{author}]({author_url}) added translatable page [{article}]({article_url}) to aggregate group \"{group}\"{comment}").format(
|
"[{author}]({author_url}) added translatable page [{article}]({article_url}) to aggregate group \"{group}\"{comment}").format(
|
||||||
author=author, author_url=author_url,
|
author=author, author_url=author_url,
|
||||||
article=sanitize_to_markdown(change["title"]), article_url=link,
|
article=sanitize_to_markdown(change["title"]), article_url=link,
|
||||||
group=change["logparams"]["aggregategroup"], comment=parsed_comment
|
group=change["logparams"]["aggregategroup"], comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# pagetranslation/dissociate - Removing an article from translation group
|
# pagetranslation/dissociate - Removing an article from translation group
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="pagetranslation/dissociate")
|
@formatter.embed(event="pagetranslation/dissociate")
|
||||||
def embed_pagetranslation_dissociate(ctx: Context, change: dict):
|
def embed_pagetranslation_dissociate(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Removed translatable page \"{article}\" from aggregate group \"{group}\"").format(
|
embed["title"] = ctx._("Removed translatable page \"{article}\" from aggregate group \"{group}\"").format(
|
||||||
article=sanitize_to_markdown(change["title"]), group=change["logparams"]["aggregategroup"])
|
article=sanitize_to_markdown(change["title"]), group=change["logparams"]["aggregategroup"])
|
||||||
return embed
|
return embed
|
||||||
|
@ -359,23 +358,23 @@ def embed_pagetranslation_dissociate(ctx: Context, change: dict):
|
||||||
def compact_pagetranslation_dissociate(ctx: Context, change: dict):
|
def compact_pagetranslation_dissociate(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"[{author}]({author_url}) removed translatable page [{article}]({article_url}) from aggregate group \"{group}\"{comment}").format(
|
"[{author}]({author_url}) removed translatable page [{article}]({article_url}) from aggregate group \"{group}\"{comment}").format(
|
||||||
author=author, author_url=author_url,
|
author=author, author_url=author_url,
|
||||||
article=sanitize_to_markdown(change["title"]), article_url=link,
|
article=sanitize_to_markdown(change["title"]), article_url=link,
|
||||||
group=change["logparams"]["aggregategroup"], comment=parsed_comment
|
group=change["logparams"]["aggregategroup"], comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# translationreview/message - Reviewing translation
|
# translationreview/message - Reviewing translation
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="translationreview/message")
|
@formatter.embed(event="translationreview/message")
|
||||||
def embed_translationreview_message(ctx: Context, change: dict):
|
def embed_translationreview_message(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
link = create_article_path(sanitize_to_url(change["title"]))
|
link = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
if "?" in link:
|
if "?" in link:
|
||||||
embed["url"] = link + "&oldid={}".format(change["logparams"]["revision"])
|
embed["url"] = link + "&oldid={}".format(change["logparams"]["revision"])
|
||||||
else:
|
else:
|
||||||
|
@ -388,7 +387,7 @@ def embed_translationreview_message(ctx: Context, change: dict):
|
||||||
def compact_translationreview_message(ctx: Context, change: dict):
|
def compact_translationreview_message(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
link = create_article_path(sanitize_to_url(change["title"]))
|
link = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
if "?" in link:
|
if "?" in link:
|
||||||
link = link + "&oldid={}".format(change["logparams"]["revision"])
|
link = link + "&oldid={}".format(change["logparams"]["revision"])
|
||||||
else:
|
else:
|
||||||
|
@ -399,16 +398,16 @@ def compact_translationreview_message(ctx: Context, change: dict):
|
||||||
article=sanitize_to_markdown(change["title"]), article_url=link,
|
article=sanitize_to_markdown(change["title"]), article_url=link,
|
||||||
comment=parsed_comment
|
comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# translationreview/group - Changing of state for group translation?
|
# translationreview/group - Changing of state for group translation?
|
||||||
|
|
||||||
|
|
||||||
@formatter.embed(event="translationreview/group")
|
@formatter.embed(event="translationreview/group")
|
||||||
def embed_translationreview_group(ctx: Context, change: dict):
|
def embed_translationreview_group(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
embed["title"] = ctx._("Changed the state of `{language}` translations of \"{article}\"").format(
|
embed["title"] = ctx._("Changed the state of `{language}` translations of \"{article}\"").format(
|
||||||
language=change["logparams"]["language"], article=sanitize_to_markdown(change["title"]))
|
language=change["logparams"]["language"], article=sanitize_to_markdown(change["title"]))
|
||||||
if "old-state" in change["logparams"]:
|
if "old-state" in change["logparams"]:
|
||||||
|
@ -421,7 +420,7 @@ def embed_translationreview_group(ctx: Context, change: dict):
|
||||||
def compact_translationreview_group(ctx: Context, change: dict):
|
def compact_translationreview_group(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
if "old-state" in change["logparams"]:
|
if "old-state" in change["logparams"]:
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"[{author}]({author_url}) changed the state of `{language}` translations of [{article}]({article_url}) from `{old_state}` to `{new_state}`{comment}").format(
|
"[{author}]({author_url}) changed the state of `{language}` translations of [{article}]({article_url}) from `{old_state}` to `{new_state}`{comment}").format(
|
||||||
|
@ -437,7 +436,7 @@ def compact_translationreview_group(ctx: Context, change: dict):
|
||||||
article=sanitize_to_markdown(change["logparams"]["group-label"]), article_url=link,
|
article=sanitize_to_markdown(change["logparams"]["group-label"]), article_url=link,
|
||||||
new_state=change["logparams"]["new-state"], comment=parsed_comment
|
new_state=change["logparams"]["new-state"], comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
||||||
# pagelang/pagelang - Changing the language of a page
|
# pagelang/pagelang - Changing the language of a page
|
||||||
|
|
||||||
|
@ -453,9 +452,9 @@ def get_languages(change: dict, ctx: Context):
|
||||||
|
|
||||||
@formatter.embed(event="pagelang/pagelang")
|
@formatter.embed(event="pagelang/pagelang")
|
||||||
def embed_pagelang_pagelang(ctx: Context, change: dict):
|
def embed_pagelang_pagelang(ctx: Context, change: dict):
|
||||||
embed = DiscordMessage(ctx.message_type, ctx.event)
|
embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url)
|
||||||
embed_helper(ctx, embed, change)
|
embed_helper(ctx, embed, change)
|
||||||
embed["url"] = create_article_path(sanitize_to_url(change["title"]))
|
embed["url"] = ctx.client.create_article_path(sanitize_to_url(change["title"]))
|
||||||
old_lang, new_lang = get_languages(change, ctx)
|
old_lang, new_lang = get_languages(change, ctx)
|
||||||
embed["title"] = ctx._("Changed the language of \"{article}\"").format(article=sanitize_to_markdown(change["title"]))
|
embed["title"] = ctx._("Changed the language of \"{article}\"").format(article=sanitize_to_markdown(change["title"]))
|
||||||
embed.add_field(ctx._("Old language"), old_lang, inline=True)
|
embed.add_field(ctx._("Old language"), old_lang, inline=True)
|
||||||
|
@ -467,7 +466,7 @@ def embed_pagelang_pagelang(ctx: Context, change: dict):
|
||||||
def compact_pagelang_pagelang(ctx: Context, change: dict):
|
def compact_pagelang_pagelang(ctx: Context, change: dict):
|
||||||
author, author_url = compact_author(ctx, change)
|
author, author_url = compact_author(ctx, change)
|
||||||
parsed_comment = compact_summary(ctx)
|
parsed_comment = compact_summary(ctx)
|
||||||
link = clean_link(create_article_path(sanitize_to_url(change["title"])))
|
link = clean_link(ctx.client.create_article_path(sanitize_to_url(change["title"])))
|
||||||
old_lang, new_lang = get_languages(change, ctx)
|
old_lang, new_lang = get_languages(change, ctx)
|
||||||
content = ctx._(
|
content = ctx._(
|
||||||
"[{author}]({author_url}) changed the language of [{article}]({article_url}) from {old_lang} to {new_lang}{comment}").format(
|
"[{author}]({author_url}) changed the language of [{article}]({article_url}) from {old_lang} to {new_lang}{comment}").format(
|
||||||
|
@ -475,4 +474,4 @@ def compact_pagelang_pagelang(ctx: Context, change: dict):
|
||||||
article=sanitize_to_markdown(change["title"]), article_url=link,
|
article=sanitize_to_markdown(change["title"]), article_url=link,
|
||||||
old_lang=old_lang, new_lang=new_lang, comment=parsed_comment
|
old_lang=old_lang, new_lang=new_lang, comment=parsed_comment
|
||||||
)
|
)
|
||||||
return DiscordMessage(ctx.message_type, ctx.event, content=content)
|
return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content)
|
||||||
|
|
|
@ -13,3 +13,6 @@
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with RcGcDw. If not, see <http://www.gnu.org/licenses/>.
|
# along with RcGcDw. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
#import extensions.hooks.example_hook
|
||||||
|
#import extensions.hooks.usertalk
|
||||||
|
#import extensions.hooks.edit_alerts
|
||||||
|
|
|
@ -18,7 +18,7 @@ from __future__ import annotations
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import src.misc
|
import src.misc
|
||||||
import sched
|
import sched
|
||||||
from typing import Union, Callable
|
from typing import Union, Callable, Any
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
from typing import TYPE_CHECKING, Optional
|
from typing import TYPE_CHECKING, Optional
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ class Client:
|
||||||
self.scheduler: sched.scheduler = sched.scheduler()
|
self.scheduler: sched.scheduler = sched.scheduler()
|
||||||
#self.make_api_request: src.rc.wiki.__recent_changes.api_request = self.__recent_changes.api_request
|
#self.make_api_request: src.rc.wiki.__recent_changes.api_request = self.__recent_changes.api_request
|
||||||
|
|
||||||
def schedule(self, function: Callable, *args: list, every: Optional[float] = None, at: Optional[str] = None,
|
def schedule(self, function: Callable, *args: Any, every: Optional[float] = None, at: Optional[str] = None,
|
||||||
priority: int = 5, **kwargs: dict):
|
priority: int = 5, **kwargs: dict):
|
||||||
"""Schedules a function indefinitely, does not execute function immediately
|
"""Schedules a function indefinitely, does not execute function immediately
|
||||||
|
|
||||||
|
@ -79,6 +79,10 @@ class Client:
|
||||||
"""Refreshes internal storage data for wiki tags and MediaWiki messages."""
|
"""Refreshes internal storage data for wiki tags and MediaWiki messages."""
|
||||||
self.__recent_changes.init_info()
|
self.__recent_changes.init_info()
|
||||||
|
|
||||||
|
def create_article_path(self, article: str) -> str:
|
||||||
|
"""Takes the string and creates an URL with it as the article name"""
|
||||||
|
return self.WIKI_ARTICLE_PATH.replace("$1", article)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def namespaces(self) -> dict:
|
def namespaces(self) -> dict:
|
||||||
"""Return a dict of namespaces, if None return empty dict"""
|
"""Return a dict of namespaces, if None return empty dict"""
|
||||||
|
|
|
@ -26,7 +26,7 @@ class Context:
|
||||||
they are mainly used as a bridge between part that fetches the changes and API's formatters"""
|
they are mainly used as a bridge between part that fetches the changes and API's formatters"""
|
||||||
def __init__(self, message_type: str, feed_type: str, webhook_urls: list[str], client: Client, language: gettext.GNUTranslations, settings: dict):
|
def __init__(self, message_type: str, feed_type: str, webhook_urls: list[str], client: Client, language: gettext.GNUTranslations, settings: dict):
|
||||||
self.client = client
|
self.client = client
|
||||||
self.webhook_urls = webhook_urls
|
self.webhook_url = webhook_urls
|
||||||
self.message_type = message_type
|
self.message_type = message_type
|
||||||
self.feed_type = feed_type
|
self.feed_type = feed_type
|
||||||
self.categories = None
|
self.categories = None
|
||||||
|
@ -50,4 +50,4 @@ class Context:
|
||||||
self.comment_page = page
|
self.comment_page = page
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f"<Context message_type={self.message_type} feed_type={self.feed_type} event={self.event} webhook_urls={self.webhook_urls}"
|
return f"<Context message_type={self.message_type} feed_type={self.feed_type} event={self.event} webhook_urls={self.webhook_url}"
|
||||||
|
|
|
@ -14,7 +14,6 @@
|
||||||
# along with RcGcDw. If not, see <http://www.gnu.org/licenses/>.
|
# along with RcGcDw. If not, see <http://www.gnu.org/licenses/>.
|
||||||
import src.api.hooks
|
import src.api.hooks
|
||||||
import logging
|
import logging
|
||||||
from src.configloader import settings
|
|
||||||
from src.exceptions import FormatterBreaksAPISpec
|
from src.exceptions import FormatterBreaksAPISpec
|
||||||
from src.discord.message import DiscordMessage
|
from src.discord.message import DiscordMessage
|
||||||
from typing import Optional, Callable
|
from typing import Optional, Callable
|
||||||
|
|
|
@ -19,12 +19,9 @@ from typing import Optional, Callable, TYPE_CHECKING
|
||||||
|
|
||||||
from src.exceptions import ServerError, MediaWikiError
|
from src.exceptions import ServerError, MediaWikiError
|
||||||
from src.discord.message import DiscordMessage
|
from src.discord.message import DiscordMessage
|
||||||
from src.configloader import settings
|
from src.config import settings
|
||||||
import src.misc
|
import src.misc
|
||||||
import logging
|
import logging
|
||||||
from src.i18n import formatters_i18n
|
|
||||||
|
|
||||||
_ = formatters_i18n.gettext
|
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from src.api.context import Context
|
from src.api.context import Context
|
||||||
|
@ -58,24 +55,19 @@ def parse_mediawiki_changes(ctx: Context, content: str, embed: DiscordMessage) -
|
||||||
edit_diff.feed(content)
|
edit_diff.feed(content)
|
||||||
if edit_diff.small_prev_del:
|
if edit_diff.small_prev_del:
|
||||||
if edit_diff.small_prev_del.replace("~~", "").replace("__", "").isspace():
|
if edit_diff.small_prev_del.replace("~~", "").replace("__", "").isspace():
|
||||||
edit_diff.small_prev_del = _('__Only whitespace__')
|
edit_diff.small_prev_del = ctx._('__Only whitespace__')
|
||||||
else:
|
else:
|
||||||
edit_diff.small_prev_del = edit_diff.small_prev_del.replace("~~~~", "").replace("____", "")
|
edit_diff.small_prev_del = edit_diff.small_prev_del.replace("~~~~", "").replace("____", "")
|
||||||
if edit_diff.small_prev_ins:
|
if edit_diff.small_prev_ins:
|
||||||
if edit_diff.small_prev_ins.replace("**", "").replace("__", "").isspace():
|
if edit_diff.small_prev_ins.replace("**", "").replace("__", "").isspace():
|
||||||
edit_diff.small_prev_ins = _('__Only whitespace__')
|
edit_diff.small_prev_ins = ctx._('__Only whitespace__')
|
||||||
else:
|
else:
|
||||||
edit_diff.small_prev_ins = edit_diff.small_prev_ins.replace("****", "").replace("____", "")
|
edit_diff.small_prev_ins = edit_diff.small_prev_ins.replace("****", "").replace("____", "")
|
||||||
logger.debug("Changed content: {}".format(edit_diff.small_prev_ins))
|
logger.debug("Changed content: {}".format(edit_diff.small_prev_ins))
|
||||||
if edit_diff.small_prev_del and not ctx.event == "new":
|
if edit_diff.small_prev_del and not ctx.event == "new":
|
||||||
embed.add_field(_("Removed"), "{data}".format(data=edit_diff.small_prev_del), inline=True)
|
embed.add_field(ctx._("Removed"), "{data}".format(data=edit_diff.small_prev_del), inline=True)
|
||||||
if edit_diff.small_prev_ins:
|
if edit_diff.small_prev_ins:
|
||||||
embed.add_field(_("Added"), "{data}".format(data=edit_diff.small_prev_ins), inline=True)
|
embed.add_field(ctx._("Added"), "{data}".format(data=edit_diff.small_prev_ins), inline=True)
|
||||||
|
|
||||||
|
|
||||||
def create_article_path(article: str) -> str:
|
|
||||||
"""Takes the string and creates an URL with it as the article name"""
|
|
||||||
return src.misc.WIKI_ARTICLE_PATH.replace("$1", article)
|
|
||||||
|
|
||||||
|
|
||||||
def compact_summary(ctx: Context) -> str:
|
def compact_summary(ctx: Context) -> str:
|
||||||
|
@ -88,10 +80,10 @@ def compact_author(ctx: Context, change: dict) -> (Optional[str], Optional[str])
|
||||||
"""Returns link to the author and the author itself respecting the settings"""
|
"""Returns link to the author and the author itself respecting the settings"""
|
||||||
author, author_url = None, None
|
author, author_url = None, None
|
||||||
if ctx.event != "suppressed":
|
if ctx.event != "suppressed":
|
||||||
author_url = clean_link(create_article_path("User:{user}".format(user=sanitize_to_url(change["user"]))))
|
author_url = clean_link(ctx.client.create_article_path("User:{user}".format(user=sanitize_to_url(change["user"]))))
|
||||||
if "anon" in change:
|
if "anon" in change:
|
||||||
if settings.get("hide_ips", False):
|
if settings.get("hide_ips", False):
|
||||||
author = _("Unregistered user")
|
author = ctx._("Unregistered user")
|
||||||
else:
|
else:
|
||||||
author = change["user"]
|
author = change["user"]
|
||||||
else:
|
else:
|
||||||
|
@ -111,7 +103,7 @@ def embed_helper(ctx: Context, message: DiscordMessage, change: dict, set_user=T
|
||||||
if set_user:
|
if set_user:
|
||||||
author = None
|
author = None
|
||||||
if "anon" in change:
|
if "anon" in change:
|
||||||
author_url = create_article_path("Special:Contributions/{user}".format(user=sanitize_to_url(change["user"])))
|
author_url = ctx.client.create_article_path("Special:Contributions/{user}".format(user=sanitize_to_url(change["user"])))
|
||||||
ip_mapper = ctx.client.get_ipmapper()
|
ip_mapper = ctx.client.get_ipmapper()
|
||||||
logger.debug("current user: {} with cache of IPs: {}".format(change["user"], ip_mapper.keys()))
|
logger.debug("current user: {} with cache of IPs: {}".format(change["user"], ip_mapper.keys()))
|
||||||
if change["user"] not in list(ip_mapper.keys()):
|
if change["user"] not in list(ip_mapper.keys()):
|
||||||
|
@ -123,14 +115,14 @@ def embed_helper(ctx: Context, message: DiscordMessage, change: dict, set_user=T
|
||||||
except (ServerError, MediaWikiError):
|
except (ServerError, MediaWikiError):
|
||||||
logger.warning("WARNING: Something went wrong when checking amount of contributions for given IP address")
|
logger.warning("WARNING: Something went wrong when checking amount of contributions for given IP address")
|
||||||
if settings.get("hide_ips", False):
|
if settings.get("hide_ips", False):
|
||||||
author = _("Unregistered user")
|
author = ctx._("Unregistered user")
|
||||||
else:
|
else:
|
||||||
author = change["user"] + "(?)"
|
author = change["user"] + "(?)"
|
||||||
else:
|
else:
|
||||||
ip_mapper[change["user"]] = len(contibs)
|
ip_mapper[change["user"]] = len(contibs)
|
||||||
logger.debug("Current params user {} and state of map_ips {}".format(change["user"], ip_mapper))
|
logger.debug("Current params user {} and state of map_ips {}".format(change["user"], ip_mapper))
|
||||||
if settings.get("hide_ips", False):
|
if settings.get("hide_ips", False):
|
||||||
author = _("Unregistered user")
|
author = ctx._("Unregistered user")
|
||||||
else:
|
else:
|
||||||
author = "{author} ({contribs})".format(author=change["user"], contribs=len(contibs))
|
author = "{author} ({contribs})".format(author=change["user"], contribs=len(contibs))
|
||||||
else:
|
else:
|
||||||
|
@ -138,10 +130,10 @@ def embed_helper(ctx: Context, message: DiscordMessage, change: dict, set_user=T
|
||||||
if ctx.event in ("edit", "new"):
|
if ctx.event in ("edit", "new"):
|
||||||
ip_mapper[change["user"]] += 1
|
ip_mapper[change["user"]] += 1
|
||||||
author = "{author} ({amount})".format(
|
author = "{author} ({amount})".format(
|
||||||
author=change["user"] if settings.get("hide_ips", False) is False else _("Unregistered user"),
|
author=change["user"] if settings.get("hide_ips", False) is False else ctx._("Unregistered user"),
|
||||||
amount=ip_mapper[change["user"]])
|
amount=ip_mapper[change["user"]])
|
||||||
else:
|
else:
|
||||||
author_url = create_article_path("User:{}".format(sanitize_to_url(change["user"])))
|
author_url = ctx.client.create_article_path("User:{}".format(sanitize_to_url(change["user"])))
|
||||||
author = change["user"]
|
author = change["user"]
|
||||||
message.set_author(author, author_url)
|
message.set_author(author, author_url)
|
||||||
if set_edit_meta:
|
if set_edit_meta:
|
||||||
|
@ -158,14 +150,14 @@ def embed_helper(ctx: Context, message: DiscordMessage, change: dict, set_user=T
|
||||||
else:
|
else:
|
||||||
tag_displayname.append(tag)
|
tag_displayname.append(tag)
|
||||||
if tag_displayname:
|
if tag_displayname:
|
||||||
message.add_field(formatters_i18n.pgettext("recent changes Tags", "Tags"), ", ".join(tag_displayname))
|
message.add_field(ctx.pgettext("recent changes Tags", "Tags"), ", ".join(tag_displayname))
|
||||||
if ctx.categories is not None and not (len(ctx.categories["new"]) == 0 and len(ctx.categories["removed"]) == 0):
|
if ctx.categories is not None and not (len(ctx.categories["new"]) == 0 and len(ctx.categories["removed"]) == 0):
|
||||||
new_cat = (_("**Added**: ") + ", ".join(list(ctx.categories["new"])[0:16]) + (
|
new_cat = (ctx._("**Added**: ") + ", ".join(list(ctx.categories["new"])[0:16]) + (
|
||||||
"\n" if len(ctx.categories["new"]) <= 15 else _(" and {} more\n").format(
|
"\n" if len(ctx.categories["new"]) <= 15 else ctx._(" and {} more\n").format(
|
||||||
len(ctx.categories["new"]) - 15))) if ctx.categories["new"] else ""
|
len(ctx.categories["new"]) - 15))) if ctx.categories["new"] else ""
|
||||||
del_cat = (_("**Removed**: ") + ", ".join(list(ctx.categories["removed"])[0:16]) + (
|
del_cat = (ctx._("**Removed**: ") + ", ".join(list(ctx.categories["removed"])[0:16]) + (
|
||||||
"" if len(ctx.categories["removed"]) <= 15 else _(" and {} more").format(
|
"" if len(ctx.categories["removed"]) <= 15 else ctx._(" and {} more").format(
|
||||||
len(ctx.categories["removed"]) - 15))) if ctx.categories["removed"] else ""
|
len(ctx.categories["removed"]) - 15))) if ctx.categories["removed"] else ""
|
||||||
message.add_field(_("Changed categories"), new_cat + del_cat)
|
message.add_field(ctx._("Changed categories"), new_cat + del_cat)
|
||||||
if set_desc:
|
if set_desc:
|
||||||
message["description"] = ctx.parsedcomment
|
message["description"] = ctx.parsedcomment
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with RcGcDw. If not, see <http://www.gnu.org/licenses/>.
|
# along with RcGcDw. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
from __future__ import annotations
|
||||||
import json
|
import json
|
||||||
import math
|
import math
|
||||||
import random
|
import random
|
||||||
|
@ -47,7 +47,7 @@ class DiscordMessageMetadata:
|
||||||
|
|
||||||
class DiscordMessage:
|
class DiscordMessage:
|
||||||
"""A class defining a typical Discord JSON representation of webhook payload."""
|
"""A class defining a typical Discord JSON representation of webhook payload."""
|
||||||
def __init__(self, message_type: str, event_type: str, content=None):
|
def __init__(self, message_type: str, event_type: str, webhook_url: list[str], content=None):
|
||||||
self.webhook_object = dict(allowed_mentions={"parse": []})
|
self.webhook_object = dict(allowed_mentions={"parse": []})
|
||||||
self.length = 0
|
self.length = 0
|
||||||
self.metadata: Optional[DiscordMessageMetadata] = None
|
self.metadata: Optional[DiscordMessageMetadata] = None
|
||||||
|
|
|
@ -112,7 +112,7 @@ class MessageQueue:
|
||||||
if self.compare_message_to_dict(item[1], properties):
|
if self.compare_message_to_dict(item[1], properties):
|
||||||
self._queue.pop(index)
|
self._queue.pop(index)
|
||||||
|
|
||||||
async def pack_massages(self, messages: list[QueueEntry], current_pack=None) -> AsyncGenerator[tuple[StackedDiscordMessage, int, str]]:
|
async def pack_massages(self, messages: list[QueueEntry], current_pack=None) -> AsyncGenerator[tuple[StackedDiscordMessage, int, str], None]:
|
||||||
"""Pack messages into StackedDiscordMessage. It's an async generator"""
|
"""Pack messages into StackedDiscordMessage. It's an async generator"""
|
||||||
# TODO Rebuild to support DELETE and PATCH messages
|
# TODO Rebuild to support DELETE and PATCH messages
|
||||||
for index, message in enumerate(messages):
|
for index, message in enumerate(messages):
|
||||||
|
|
|
@ -5,7 +5,7 @@ from collections import OrderedDict
|
||||||
from src.config import settings
|
from src.config import settings
|
||||||
from typing import TYPE_CHECKING, Optional
|
from typing import TYPE_CHECKING, Optional
|
||||||
from functools import cache
|
from functools import cache
|
||||||
from src.discussions import Discussions
|
# from src.discussions import Discussions
|
||||||
from statistics import Log, LogType
|
from statistics import Log, LogType
|
||||||
|
|
||||||
logger = logging.getLogger("rcgcdb.domain")
|
logger = logging.getLogger("rcgcdb.domain")
|
||||||
|
|
|
@ -34,6 +34,11 @@ class ServerError(Exception):
|
||||||
"""Exception for when a request fails because of Server error"""
|
"""Exception for when a request fails because of Server error"""
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
class FormatterBreaksAPISpec(Exception):
|
||||||
|
def __init__(self, field):
|
||||||
|
self.message = f"Formatter doesn't specify {field}!"
|
||||||
|
super().__init__(self.message)
|
||||||
|
|
||||||
|
|
||||||
class ClientError(Exception):
|
class ClientError(Exception):
|
||||||
"""Exception for when a request failes because of Client error"""
|
"""Exception for when a request failes because of Client error"""
|
||||||
|
|
|
@ -19,7 +19,7 @@ class UpdateDB:
|
||||||
def clear_list(self):
|
def clear_list(self):
|
||||||
self.updated.clear()
|
self.updated.clear()
|
||||||
|
|
||||||
async def fetch_rows(self, SQLstatement: str, args: Union[str, int]) -> collections.AsyncIterable:
|
async def fetch_rows(self, SQLstatement: str, args: Union[str, int]) -> collections.abc.AsyncIterable:
|
||||||
async with db.pool().acquire() as connection:
|
async with db.pool().acquire() as connection:
|
||||||
async with connection.transaction():
|
async with connection.transaction():
|
||||||
async for row in connection.cursor(SQLstatement, *args):
|
async for row in connection.cursor(SQLstatement, *args):
|
||||||
|
|
|
@ -28,8 +28,8 @@ from typing import Union, Optional, TYPE_CHECKING
|
||||||
Settings = namedtuple("Settings", ["lang", "display"])
|
Settings = namedtuple("Settings", ["lang", "display"])
|
||||||
logger = logging.getLogger("rcgcdb.wiki")
|
logger = logging.getLogger("rcgcdb.wiki")
|
||||||
|
|
||||||
wiki_reamoval_reasons = {410: _("wiki deleted"), 404: _("wiki deleted"), 401: _("wiki inaccessible"),
|
# wiki_reamoval_reasons = {410: _("wiki deleted"), 404: _("wiki deleted"), 401: _("wiki inaccessible"),
|
||||||
402: _("wiki inaccessible"), 403: _("wiki inaccessible"), 1000: _("discussions disabled")}
|
# 402: _("wiki inaccessible"), 403: _("wiki inaccessible"), 1000: _("discussions disabled")}
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from src.domain import Domain
|
from src.domain import Domain
|
||||||
|
@ -215,7 +215,6 @@ class Wiki:
|
||||||
request.url))
|
request.url))
|
||||||
elif 399 < request.status < 500:
|
elif 399 < request.status < 500:
|
||||||
logger.error("Request returned ClientError status code on {url}".format(url=request.url))
|
logger.error("Request returned ClientError status code on {url}".format(url=request.url))
|
||||||
if request.status in wiki_reamoval_reasons:
|
|
||||||
self.statistics.update(Log(type=LogType.HTTP_ERROR, title="{} error".format(request.status), details=str(request.headers) + "\n" + str(request.url)))
|
self.statistics.update(Log(type=LogType.HTTP_ERROR, title="{} error".format(request.status), details=str(request.headers) + "\n" + str(request.url)))
|
||||||
raise ClientError(request)
|
raise ClientError(request)
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in a new issue