diff --git a/extensions/base/abusefilter.py b/extensions/base/abusefilter.py index 253b138..51097af 100644 --- a/extensions/base/abusefilter.py +++ b/extensions/base/abusefilter.py @@ -44,7 +44,7 @@ def abuse_filter_format_user(change, settings): @formatter.embed(event="abuselog") def embed_abuselog(ctx: Context, change: dict): action = "abuselog/{}".format(change["result"]) - embed = DiscordMessage(ctx.message_type, action, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, action) 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.add_field(ctx._("Performed"), abusefilter_translatable(change["action"], ctx._, ctx._("Unknown"))) @@ -63,14 +63,14 @@ def compact_abuselog(ctx: Context, change: dict): action=abusefilter_translatable(change["action"], ctx._, ctx._("Unknown")), target=change.get("title", ctx._("Unknown")), target_url=clean_link(create_article_path(sanitize_to_url(change.get("title", ctx._("Unknown"))))), result=abusefilter_translatable(change["result"], ctx._, ctx._("Unknown"))) - return DiscordMessage(ctx.message_type, action, ctx.webhook_url, content=message) + return DiscordMessage(ctx.message_type, action, content=message) # abusefilter/modify - AbuseFilter filter modification @formatter.embed(event="abusefilter/modify") def embed_abuselog_modify(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path( "Special:AbuseFilter/history/{number}/diff/prev/{historyid}".format(number=change["logparams"]['newId'], @@ -93,14 +93,14 @@ def compact_abuselog_modify(ctx: Context, change: dict): "logparams"][ 'newId'], filter_url=link) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # abusefilter/create - AbuseFilter filter creation @formatter.embed(event="abusefilter/create") def embed_abuselog_create(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path("Special:AbuseFilter/{number}".format(number=change["logparams"]['newId'])) embed["title"] = ctx._("Created abuse filter number {number}").format(number=change["logparams"]['newId']) @@ -118,4 +118,4 @@ def compact_abuselog_create(ctx: Context, change: dict): "logparams"][ 'newId'], filter_url=link) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) diff --git a/extensions/base/cargo.py b/extensions/base/cargo.py index 063d01d..06ede38 100644 --- a/extensions/base/cargo.py +++ b/extensions/base/cargo.py @@ -25,7 +25,7 @@ from src.api.util import embed_helper, compact_author, create_article_path, sani @formatter.embed(event="cargo/createtable") def embed_cargo_createtable(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) table = re.search(r"\[(.*?)]\(<(.*?)>\)", ctx.client.parse_links(change["logparams"]["0"])) 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, author_url=author_url, table=table) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # cargo/recreatetable - Recreating a Cargo table @@ -48,7 +48,7 @@ def compact_cargo_createtable(ctx: Context, change: dict): @formatter.embed(event="cargo/recreatetable") def embed_cargo_recreatetable(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) table = re.search(r"\[(.*?)]\(<(.*?)>\)", ctx.client.parse_links(change["logparams"]["0"])) 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, author_url=author_url, table=table) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # cargo/replacetable - Replacing a Cargo table @@ -71,7 +71,7 @@ def compact_cargo_recreatetable(ctx: Context, change: dict): @formatter.embed(event="cargo/replacetable") def embed_cargo_replacetable(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) table = re.search(r"\[(.*?)]\(<(.*?)>\)", ctx.client.parse_links(change["logparams"]["0"])) 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, author_url=author_url, table=table) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # cargo/deletetable - Deleting a table in Cargo @@ -94,7 +94,7 @@ def compact_cargo_replacetable(ctx: Context, change: dict): @formatter.embed(event="cargo/deletetable") def embed_cargo_deletetable(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path("Special:CargoTables") embed["title"] = ctx._("Deleted the Cargo table \"{table}\"").format(table=sanitize_to_markdown(change["logparams"]["0"])) @@ -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, author_url=author_url, table=sanitize_to_markdown(change["logparams"]["0"])) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) diff --git a/extensions/base/curseprofile.py b/extensions/base/curseprofile.py index 5c0b92e..2b0f0b1 100644 --- a/extensions/base/curseprofile.py +++ b/extensions/base/curseprofile.py @@ -28,7 +28,7 @@ from src.misc import profile_field_name @formatter.embed(event="curseprofile/profile-edited") def embed_curseprofile_profile_edited(ctx: Context, change: dict) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) target_user = change["title"].split(':', 1)[1] if target_user != change["user"]: @@ -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})*") 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) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # 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") def embed_curseprofile_comment_created(ctx: Context, change: dict) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) target_user = change["title"].split(':', 1)[1] if target_user != change["user"]: @@ -93,7 +93,7 @@ def compact_curseprofile_comment_created(ctx: Context, change: dict) -> DiscordM author=author, author_url=author_url, comment=link, target=sanitize_to_markdown(target_user)) else: 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, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # 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") def embed_curseprofile_comment_edited(ctx: Context, change: dict) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) target_user = change["title"].split(':', 1)[1] if target_user != change["user"]: @@ -124,7 +124,7 @@ def compact_curseprofile_comment_edited(ctx: Context, change: dict) -> DiscordMe author=author, author_url=author_url, comment=link, target=sanitize_to_markdown(target_user)) else: 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, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # 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") def embed_curseprofile_comment_replied(ctx: Context, change: dict) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) target_user = change["title"].split(':', 1)[1] if target_user != change["user"]: @@ -155,7 +155,7 @@ def compact_curseprofile_comment_replied(ctx: Context, change: dict) -> DiscordM author=author, author_url=author_url, comment=link, target=sanitize_to_markdown(target_user)) else: 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, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # 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") def embed_curseprofile_comment_deleted(ctx: Context, change: dict) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) target_user = change["title"].split(':', 1)[1] if target_user != change["user"]: @@ -194,7 +194,7 @@ def compact_curseprofile_comment_deleted(ctx: Context, change: dict) -> DiscordM else: 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) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # 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") def embed_curseprofile_comment_purged(ctx: Context, change: dict) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) target_user = change["title"].split(':', 1)[1] if target_user != change["user"]: @@ -226,4 +226,4 @@ def compact_curseprofile_comment_purged(ctx: Context, change: dict) -> DiscordMe author=author, author_url=author_url, link=link, target=sanitize_to_markdown(target_user), reason=parsed_comment) else: 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, ctx.webhook_url, content=content, reason=parsed_comment) + return DiscordMessage(ctx.message_type, ctx.event, content=content, reason=parsed_comment) diff --git a/extensions/base/datadump.py b/extensions/base/datadump.py index d15070f..ca12d4b 100644 --- a/extensions/base/datadump.py +++ b/extensions/base/datadump.py @@ -27,7 +27,7 @@ from src.api.util import embed_helper, compact_author, create_article_path, sani @formatter.embed(event="datadump/generate") def embed_datadump_generate(ctx: Context, change: dict) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["title"] = ctx._("Generated {file} dump").format(file=change["logparams"]["filename"]) embed["url"] = create_article_path(sanitize_to_url(change["title"])) @@ -42,14 +42,14 @@ def compact_datadump_generate(ctx: Context, change: dict): author=author, author_url=author_url, file=sanitize_to_markdown(change["logparams"]["filename"]), comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # datadump/delete - Deleting a dump of a wiki @formatter.embed(event="datadump/delete") def embed_datadump_delete(ctx: Context, change: dict) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["title"] = ctx._("Deleted {file} dump").format(file=sanitize_to_markdown(change["logparams"]["filename"])) embed["url"] = create_article_path(sanitize_to_url(change["title"])) @@ -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"]), comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) diff --git a/extensions/base/discussions.py b/extensions/base/discussions.py index ff701a4..184df7d 100644 --- a/extensions/base/discussions.py +++ b/extensions/base/discussions.py @@ -137,7 +137,7 @@ def common_discussions(post: dict, embed: DiscordMessage, ctx: Context): @formatter.embed(event="discussion/forum") def embed_discussion_forum(ctx: Context, post: dict): - embed = DiscordMessage("embed", "discussion", ctx.settings["fandom_discussions"]["webhookURL"]) + embed = DiscordMessage("embed", "discussion") common_discussions(post, embed, ctx) author = ctx._("unknown") # Fail safe if post["createdBy"]["name"]: @@ -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"], threadId=post["threadId"], postId=post["id"], title=post["_embedded"]["thread"][0]["title"], forumName=post["forumName"]) - return DiscordMessage("compact", event_type, ctx.webhook_url, content=message) + return DiscordMessage("compact", event_type, content=message) # discussion/wall - Wall posts/replies @@ -272,8 +272,8 @@ def embed_author_discussions(post: dict, embed: DiscordMessage, ctx: Context): @formatter.embed(event="discussion/wall") def embed_discussion_wall(ctx: Context, post: dict): - embed = DiscordMessage("embed", "discussion", ctx.settings["fandom_discussions"]["webhookURL"]) - common_discussions(post, embed) + embed = DiscordMessage("embed", "discussion") + common_discussions(post, embed, ctx) embed_author_discussions(post, embed, ctx) user_wall = ctx._("unknown") # Fail safe if post["forumName"].endswith(' Message Wall'): @@ -313,15 +313,15 @@ def compact_discussion_wall(ctx: Context, post: dict): author=author, author_url=author_url, url=ctx.settings["fandom_discussions"]["wiki_url"], title=post["_embedded"]["thread"][0]["title"], user=user_wall, user_wall=quote_plus(user_wall.replace(" ", "_")), threadId=post["threadId"], replyId=post["id"]) - return DiscordMessage("compact", event_type, ctx.webhook_url, content=message) + return DiscordMessage("compact", event_type, content=message) # discussion/article_comment - Article comments @formatter.embed(event="discussion/article_comment") def embed_discussion_article_comment(ctx: Context, post: dict): - embed = DiscordMessage("embed", "discussion", ctx.settings["fandom_discussions"]["webhookURL"]) - common_discussions(post, embed) + embed = DiscordMessage("embed", "discussion") + common_discussions(post, embed, ctx) embed_author_discussions(post, embed, ctx) article_paths = ctx.comment_page if article_paths is None: @@ -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, author_url=author_url, url=article_paths["fullUrl"], article=article_paths["title"], commentId=post["threadId"], replyId=post["id"]) - return DiscordMessage("compact", event_type, ctx.webhook_url, content=message) + return DiscordMessage("compact", event_type, content=message) diff --git a/extensions/base/interwiki.py b/extensions/base/interwiki.py index 8dae985..355842f 100644 --- a/extensions/base/interwiki.py +++ b/extensions/base/interwiki.py @@ -26,7 +26,7 @@ from src.api.util import embed_helper, clean_link, compact_author, create_articl @formatter.embed(event="interwiki/iw_add", mode="embed") def embed_interwiki_iw_add(ctx: Context, change: dict) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path("Special:Interwiki") embed["title"] = ctx._("Added an entry to the interwiki table") @@ -45,7 +45,7 @@ def compact_interwiki_iw_add(ctx: Context, change: dict) -> DiscordMessage: "[{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'], website=change["logparams"]['1'], table_url=link) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # interwiki/iw_edit - Editing interwiki entry @@ -53,7 +53,7 @@ def compact_interwiki_iw_add(ctx: Context, change: dict) -> DiscordMessage: @formatter.embed(event="interwiki/iw_edit", mode="embed") def embed_interwiki_iw_edit(ctx: Context, change: dict) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path("Special:Interwiki") embed["title"] = ctx._("Edited an entry in interwiki table") @@ -72,7 +72,7 @@ def compact_interwiki_iw_edit(ctx: Context, change: dict) -> DiscordMessage: "[{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'], website=change["logparams"]['1'], table_url=link) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # interwiki/iw_delete - Deleting interwiki entry @@ -80,7 +80,7 @@ def compact_interwiki_iw_edit(ctx: Context, change: dict) -> DiscordMessage: @formatter.embed(event="interwiki/iw_delete", mode="embed") def embed_interwiki_iw_delete(ctx: Context, change: dict) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path("Special:Interwiki") embed["title"] = ctx._("Deleted an entry in interwiki table") @@ -100,4 +100,4 @@ def compact_interwiki_iw_delete(ctx: Context, change: dict) -> DiscordMessage: table_url=link, desc=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) diff --git a/extensions/base/managewiki.py b/extensions/base/managewiki.py index 2415407..d743e8f 100644 --- a/extensions/base/managewiki.py +++ b/extensions/base/managewiki.py @@ -24,7 +24,7 @@ from src.api.util import embed_helper, compact_author, create_article_path, sani @formatter.embed(event="managewiki/settings") def embed_managewiki_settings(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Changed wiki settings") @@ -38,14 +38,14 @@ def compact_managewiki_settings(ctx: Context, change: dict): author, author_url = compact_author(ctx, change) parsed_comment = compact_summary(ctx) 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, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # managewiki/delete - Deleting a wiki @formatter.embed(event="managewiki/delete") def embed_managewiki_delete(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Deleted a \"{wiki}\" wiki").format(wiki=change["logparams"].get("wiki", ctx._("Unknown"))) @@ -62,14 +62,14 @@ def compact_managewiki_delete(ctx: Context, change: dict): "logparams"].get("wiki", ctx._("Unknown")), comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # managewiki/delete-group - Deleting a group @formatter.embed(event="managewiki/delete-group") def embed_managewiki_delete_group(ctx: Context, change: dict) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) group = change["title"].split("/")[-1] @@ -86,14 +86,14 @@ def compact_managewiki_delete_group(ctx: Context, change: dict) -> DiscordMessag author_url=author_url, group=group, comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # managewiki/lock - Locking a wiki @formatter.embed(event="managewiki/lock") def embed_managewiki_lock(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Locked a \"{wiki}\" wiki").format(wiki=change["logparams"].get("wiki", ctx._("Unknown"))) @@ -107,14 +107,14 @@ def compact_managewiki_lock(ctx: Context, change: dict): 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")), comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # managewiki/namespaces - Modirying a wiki namespace @formatter.embed(event="managewiki/namespaces") def embed_managewiki_namespaces(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Modified \"{namespace_name}\" namespace").format( @@ -130,14 +130,14 @@ def compact_managewiki_namespaces(ctx: Context, change: dict): 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")), wiki_name=change["logparams"].get("wiki", ctx._("Unknown")), comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # managewiki/namespaces-delete - Deleteing a namespace @formatter.embed(event="managewiki/namespaces-delete") def embed_managewiki_namespaces_delete(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Deleted a \"{namespace_name}\" namespace").format( @@ -155,14 +155,14 @@ def compact_managewiki_namespaces_delete(ctx: Context, change: dict): 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) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # managewiki/rights - Modifying user groups @formatter.embed(event="managewiki/rights") def embed_managewiki_rights(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) group_name = change["title"].split("/permissions/", 1)[1] @@ -178,14 +178,14 @@ def compact_managewiki_rights(ctx: Context, change: dict): 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 ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # managewiki/undelete - Restoring a wiki @formatter.embed(event="managewiki/undelete") def embed_managewiki_undelete(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Undeleted a \"{wiki}\" wiki").format(wiki=change["logparams"].get("wiki", ctx._("Unknown"))) @@ -200,14 +200,14 @@ def compact_managewiki_undelete(ctx: Context, change: dict): author=author, author_url=author_url, wiki_name=change["logparams"].get("wiki", ctx._("Unknown")), comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # managewiki/unlock - Unlocking a wiki @formatter.embed(event="managewiki/unlock") def embed_managewiki_unlock(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Unlocked a \"{wiki}\" wiki").format(wiki=change["logparams"].get("wiki", ctx._("Unknown"))) @@ -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")), comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) diff --git a/extensions/base/mediawiki.py b/extensions/base/mediawiki.py index 285f04f..a33da4e 100644 --- a/extensions/base/mediawiki.py +++ b/extensions/base/mediawiki.py @@ -39,7 +39,7 @@ if 1 == 2: # additional translation strings in unreachable code @formatter.embed(event="edit", mode="embed", aliases=["new"]) def embed_edit(ctx: Context, change: dict) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) action = ctx.event editsize = change["newlen"] - change["oldlen"] 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, 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) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # Upload - upload/reupload, upload/upload @formatter.embed(event="upload/upload", mode="embed", aliases=["upload/overwrite", "upload/revert"]) def embed_upload_upload(ctx, change) -> DiscordMessage: license = None - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) action = ctx.event # Requesting more information on the image request_for_image_data = None @@ -233,7 +233,7 @@ def compact_upload_revert(ctx, change) -> DiscordMessage: 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, comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) @formatter.compact(event="upload/overwrite", mode="compact") @@ -244,7 +244,7 @@ def compact_upload_overwrite(ctx, change) -> DiscordMessage: 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, comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) @formatter.compact(event="upload/upload", mode="compact") @@ -258,13 +258,13 @@ def compact_upload_upload(ctx, change) -> DiscordMessage: change["title"]), file_link=file_link, comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # delete/delete - Page deletion @formatter.embed(event="delete/delete", mode="embed") def embed_delete_delete(ctx, change) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed['url'] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Deleted page {article}").format(article=sanitize_to_markdown(change["title"])) @@ -282,13 +282,13 @@ def compact_delete_delete(ctx, change) -> DiscordMessage: change["title"]), page_link=page_link, comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # delete/delete_redir - Redirect deletion @formatter.embed(event="delete/delete_redir", mode="embed") def embed_delete_delete_redir(ctx, change) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed['url'] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Deleted redirect {article} by overwriting").format( @@ -304,7 +304,7 @@ def compact_delete_delete_redir(ctx, change) -> DiscordMessage: 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, comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # delete/restore - Restoring a page @@ -312,7 +312,7 @@ def compact_delete_delete_redir(ctx, change) -> DiscordMessage: @formatter.embed(event="delete/restore", mode="embed") def embed_delete_restore(ctx, change) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed['url'] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Restored {article}").format(article=sanitize_to_markdown(change["title"])) @@ -330,7 +330,7 @@ def compact_delete_restore(ctx, change) -> DiscordMessage: change["title"]), article_url=page_link, comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # delete/event - Deleting an event with revdelete feature @@ -338,7 +338,7 @@ def compact_delete_restore(ctx, change) -> DiscordMessage: @formatter.embed(event="delete/event", mode="embed") def embed_delete_event(ctx, change) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed['url'] = create_article_path("Special:RecentChanges") embed["title"] = ctx._("Changed visibility of log events") @@ -352,14 +352,14 @@ def compact_delete_event(ctx, change) -> DiscordMessage: content = ctx._("[{author}]({author_url}) changed visibility of log events{comment}").format(author=author, author_url=author_url, comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # delete/revision - Deleting revision information @formatter.embed(event="delete/revision", mode="embed") def embed_delete_revision(ctx, change) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) amount = len(change["logparams"]["ids"]) embed['url'] = create_article_path(sanitize_to_url(change["title"])) @@ -380,7 +380,7 @@ def compact_delete_revision(ctx, change) -> DiscordMessage: "[{author}]({author_url}) changed visibility of {amount} revisions on page [{article}]({article_url}){comment}", amount).format(author=author, author_url=author_url, article=sanitize_to_markdown(change["title"]), article_url=link, amount=amount, comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # move/move - Moving pages @@ -388,7 +388,7 @@ def compact_delete_revision(ctx, change) -> DiscordMessage: @formatter.embed(event="move/move", mode="embed") def embed_move_move(ctx, change) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path(sanitize_to_url(change["logparams"]['target_title'])) embed["description"] = "{supress}. {desc}".format(desc=ctx.parsedcomment, @@ -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"]), target=sanitize_to_markdown(change["logparams"]['target_title']), target_url=link, comment=parsed_comment, made_a_redirect=redirect_status) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # move/move_redir - Move over redirect @@ -421,7 +421,7 @@ def compact_move_move(ctx, change) -> DiscordMessage: @formatter.embed(event="move/move_redir", mode="embed") def embed_move_move_redir(ctx, change) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path(sanitize_to_url(change["logparams"]['target_title'])) embed["description"] = "{supress}. {desc}".format(desc=ctx.parsedcomment, @@ -446,7 +446,7 @@ def compact_move_move_redir(ctx, change) -> DiscordMessage: article=sanitize_to_markdown(change["title"]), target=sanitize_to_markdown(change["logparams"]['target_title']), target_url=link, comment=parsed_comment, made_a_redirect=redirect_status) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # protect/move_prot - Moving protection @@ -454,7 +454,7 @@ def compact_move_move_redir(ctx, change) -> DiscordMessage: @formatter.embed(event="protect/move_prot", mode="embed") def embed_protect_move_prot(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["logparams"]["oldtitle_title"])) embed["title"] = ctx._("Moved protection settings from {redirect}{article} to {title}").format( @@ -474,7 +474,7 @@ def compact_protect_move_prot(ctx, change): author=author, author_url=author_url, redirect="⤷ " if "redirect" in change else "", article=sanitize_to_markdown(change["logparams"]["oldtitle_title"]), target=sanitize_to_markdown(change["title"]), target_url=link, comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # protect/protect - Creating protection @@ -482,7 +482,7 @@ def compact_protect_move_prot(ctx, change): @formatter.embed(event="protect/protect", mode="embed") def embed_protect_protect(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Protected {target}").format(target=sanitize_to_markdown(change["title"])) @@ -505,7 +505,7 @@ def compact_protect_protect(ctx, change): settings=change["logparams"].get("description", "") + ( ctx._(" [cascading]") if "cascade" in change["logparams"] else ""), comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # protect/modify - Changing protection settings @@ -513,7 +513,7 @@ def compact_protect_protect(ctx, change): @formatter.embed(event="protect/modify", mode="embed") def embed_protect_modify(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Changed protection level for {article}").format(article=sanitize_to_markdown(change["title"])) @@ -536,7 +536,7 @@ def compact_protect_modify(ctx, change): settings=sanitize_to_markdown(change["logparams"].get("description", "")) + ( ctx._(" [cascading]") if "cascade" in change["logparams"] else ""), comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # protect/unprotect - Unprotecting a page @@ -544,7 +544,7 @@ def compact_protect_modify(ctx, change): @formatter.embed(event="protect/unprotect", mode="embed") def embed_protect_unprotect(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Removed protection from {article}").format(article=sanitize_to_markdown(change["title"])) @@ -559,7 +559,7 @@ def compact_protect_unprotect(ctx, change): 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, comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # block/block - Blocking an user @@ -590,7 +590,7 @@ def block_expiry(change: dict, ctx: Context) -> str: @formatter.embed(event="block/block", mode="embed") def embed_block_block(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) user = change["title"].split(':', 1)[1] try: ipaddress.ip_address(user) @@ -676,13 +676,13 @@ def compact_block_block(ctx, change): user_url=link, restriction_desc=restriction_description, comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # block/reblock - Changing settings of a block @formatter.embed(event="block/reblock", mode="embed") def embed_block_reblock(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) user = change["title"].split(':', 1)[1] @@ -698,14 +698,14 @@ def compact_block_reblock(ctx, change): parsed_comment = compact_summary(ctx) 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) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # block/unblock - Unblocking an user @formatter.embed(event="block/unblock", mode="embed") def embed_block_unblock(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) user = change["title"].split(':', 1)[1] @@ -725,7 +725,7 @@ def compact_block_unblock(ctx, change): user_url=link, comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # suppressed - Custom event for whenever there is limited information available about the event due to revdel @@ -733,7 +733,7 @@ def compact_block_unblock(ctx, change): @formatter.embed(event="suppressed", mode="embed") def embed_suppressed(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed["url"] = create_article_path("") embed["title"] = ctx._("Action has been hidden by administration") embed["author"]["name"] = ctx._("Unknown") @@ -743,14 +743,14 @@ def embed_suppressed(ctx, change): @formatter.compact(event="suppressed", mode="compact") def compact_suppressed(ctx, change): content = ctx._("An action has been hidden by administration.") - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # import/upload - Importing pages by uploading exported XML files @formatter.embed(event="import/upload", mode="embed") def embed_import_upload(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx.ngettext("Imported {article} with {count} revision", @@ -769,7 +769,7 @@ def compact_import_upload(ctx, change): change["logparams"]["count"]).format( author=author, author_url=author_url, article=sanitize_to_markdown(change["title"]), article_url=link, count=change["logparams"]["count"], comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # import/interwiki - Importing interwiki entries @@ -777,7 +777,7 @@ def compact_import_upload(ctx, change): @formatter.embed(event="import/interwiki", mode="embed") def embed_import_interwiki(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx.ngettext("Imported {article} with {count} revision from \"{source}\"", @@ -802,7 +802,7 @@ def compact_import_interwiki(ctx, change): count=change["logparams"]["count"], source=sanitize_to_markdown(change["logparams"]["interwiki_title"]), source_url=source_link, comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # rights/rights - Assigning rights groups @@ -824,7 +824,7 @@ def get_changed_groups(change: dict, ctx: Context) -> [[str], [str]]: @formatter.embed(event="rights/rights", aliases=["rights/autopromote"]) def embed_rights_rights(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed["url"] = create_article_path(sanitize_to_url("User:{}".format(change["title"].split(":")[1]))) if ctx.event == "rights/rights": embed["title"] = ctx._("Changed group membership for {target}").format(target=sanitize_to_markdown(change["title"].split(":")[1])) @@ -865,14 +865,14 @@ def compact_rights_rights(ctx, change): content = ctx._("The system autopromoted [{target}]({target_url}) to {added}.{comment}").format( target=sanitize_to_markdown(change["title"].split(":")[1]), target_url=link, added=ctx._(", ").join(added), comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # merge/merge - Merging histories of two pages @formatter.embed(event="merge/merge", mode="embed") def embed_merge_merge(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Merged revision histories of {article} into {dest}").format( @@ -892,7 +892,7 @@ def compact_merge_merge(ctx, change): "[{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, dest=sanitize_to_markdown(change["logparams"]["dest_title"]), comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # newusers/autocreate - Auto creation of user account @@ -900,7 +900,7 @@ def compact_merge_merge(ctx, change): @formatter.embed(event="newusers/autocreate", mode="embed") def embed_newusers_autocreate(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Created account automatically") @@ -912,7 +912,7 @@ def compact_newusers_autocreate(ctx, change): author, author_url = compact_author(ctx, change) content = ctx._("Account [{author}]({author_url}) was created automatically").format(author=author, author_url=author_url) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # newusers/create - Auto creation of user account @@ -920,7 +920,7 @@ def compact_newusers_autocreate(ctx, change): @formatter.embed(event="newusers/create", mode="embed") def embed_newusers_create(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Created account") @@ -931,7 +931,7 @@ def embed_newusers_create(ctx, change): def compact_newusers_create(ctx, change): author, author_url = compact_author(ctx, change) content = ctx._("Account [{author}]({author_url}) was created").format(author=author, author_url=author_url) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # newusers/autocreate - Auto creation of user account @@ -939,7 +939,7 @@ def compact_newusers_create(ctx, change): @formatter.embed(event="newusers/create2", mode="embed") def embed_newusers_create2(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Created account {article}").format(article=sanitize_to_markdown(change["title"])) @@ -953,7 +953,7 @@ def compact_newusers_create2(ctx, change): link = clean_link(create_article_path(sanitize_to_url(change["title"]))) 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) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # newusers/byemail - Creation of account by email @@ -961,7 +961,7 @@ def compact_newusers_create2(ctx, change): @formatter.embed(event="newusers/byemail", mode="embed") def embed_newusers_byemail(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Created account {article} and password was sent by email").format( @@ -977,7 +977,7 @@ def compact_newusers_byemail(ctx, change): content = ctx._( "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) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # newusers/newusers - New users @@ -985,7 +985,7 @@ def compact_newusers_byemail(ctx, change): @formatter.embed(event="newusers/newusers", mode="embed") def embed_newusers_newusers(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url("User:{}".format(change["user"]))) embed["title"] = ctx._("Created account") @@ -996,7 +996,7 @@ def embed_newusers_newusers(ctx, change): def compact_newusers_newusers(ctx, change): author, author_url = compact_author(ctx, change) content = ctx._("Account [{author}]({author_url}) was created").format(author=author, author_url=author_url) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # newusers/reclaim - New user reclaimed @@ -1004,7 +1004,7 @@ def compact_newusers_newusers(ctx, change): @formatter.embed(event="newusers/reclaim", mode="embed") def embed_newusers_reclaim(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url("User:{}".format(change["user"]))) embed["title"] = ctx._("Reclaimed account") @@ -1015,7 +1015,7 @@ def embed_newusers_reclaim(ctx, change): def compact_newusers_reclaim(ctx, change): author, author_url = compact_author(ctx, change) content = ctx._("Account [{author}]({author_url}) was reclaimed").format(author=author, author_url=author_url) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # contentmodel/change - Changing the content model of a page @@ -1023,7 +1023,7 @@ def compact_newusers_reclaim(ctx, change): @formatter.embed(event="contentmodel/change", mode="embed") def embed_contentmodel_change(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Changed the content model of the page {article}").format( @@ -1044,7 +1044,7 @@ def compact_contentmodel_change(ctx, change): author=author, author_url=author_url, article=sanitize_to_markdown(change["title"]), article_url=link, old=change["logparams"]["oldmodel"], new=change["logparams"]["newmodel"], comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # contentmodel/new - Creating a page with non-default content model @@ -1052,7 +1052,7 @@ def compact_contentmodel_change(ctx, change): @formatter.embed(event="contentmodel/new", mode="embed") def embed_contentmodel_new(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change, set_desc=False) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Created the page {article} using a non-default content model").format( @@ -1071,7 +1071,7 @@ def compact_contentmodel_new(ctx, change): "[{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, new=change["logparams"]["newmodel"], comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # managetags/create - Creating log tags @@ -1079,7 +1079,7 @@ def compact_contentmodel_new(ctx, change): @formatter.embed(event="managetags/create", mode="embed") def embed_managetags_create(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) ctx.client.refresh_internal_data() embed["url"] = create_article_path(sanitize_to_url(change["title"])) @@ -1103,7 +1103,7 @@ def compact_managetags_create(ctx, change): tag_url=link, comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # managetags/delete - Deleting a tag @@ -1111,7 +1111,7 @@ def compact_managetags_create(ctx, change): @formatter.embed(event="managetags/delete", mode="embed") def embed_managetags_delete(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) ctx.client.refresh_internal_data() embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Deleted the tag \"{tag}\"").format(tag=sanitize_to_markdown(change["logparams"]["tag"])) @@ -1145,7 +1145,7 @@ def compact_managetags_delete(ctx, change): tag=sanitize_to_markdown(change["logparams"]["tag"]), tag_url=link, count=change["logparams"]["count"], comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # managetags/activate - Activating a tag @@ -1153,7 +1153,7 @@ def compact_managetags_delete(ctx, change): @formatter.embed(event="managetags/activate", mode="embed") def embed_managetags_activate(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Activated the tag \"{tag}\"").format(tag=sanitize_to_markdown(change["logparams"]["tag"])) @@ -1173,7 +1173,7 @@ def compact_managetags_activate(ctx, change): "tag"]), tag_url=link, comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # managetags/deactivate - Deactivating a tag @@ -1181,7 +1181,7 @@ def compact_managetags_activate(ctx, change): @formatter.embed(event="managetags/deactivate", mode="embed") def embed_managetags_deactivate(ctx, change): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Deactivated the tag \"{tag}\"").format(tag=sanitize_to_markdown(change["logparams"]["tag"])) @@ -1201,4 +1201,4 @@ def compact_managetags_deactivate(ctx, change): "tag"]), tag_url=link, comment=parsed_comment) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) diff --git a/extensions/base/renameuser.py b/extensions/base/renameuser.py index 5fc7a0c..0a640d7 100644 --- a/extensions/base/renameuser.py +++ b/extensions/base/renameuser.py @@ -26,7 +26,7 @@ from src.api.util import embed_helper, compact_summary, clean_link, compact_auth @formatter.embed(event="renameuser/renameuser") def embed_renameuser_renameuser(ctx: Context, change: dict) -> DiscordMessage: - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) edits = change["logparams"]["edits"] 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"]), new_name=sanitize_to_markdown(change["logparams"]["newuser"]), link=link, comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) diff --git a/extensions/base/sprite.py b/extensions/base/sprite.py index 730f17d..e241b5e 100644 --- a/extensions/base/sprite.py +++ b/extensions/base/sprite.py @@ -27,7 +27,7 @@ from src.api.util import embed_helper, compact_author, create_article_path, sani @formatter.embed(event="sprite/sprite") def embed_sprite_sprite(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Edited the sprite for {article}").format(article=sanitize_to_markdown(change["title"])) @@ -43,14 +43,14 @@ def compact_sprite_sprite(ctx: Context, change: dict): article=sanitize_to_markdown(change[ "title"]), article_url=link) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # sprite/sheet - Creating a sprite sheet @formatter.embed(event="sprite/sheet") def embed_sprite_sheet(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Created the sprite sheet for {article}").format(article=sanitize_to_markdown(change["title"])) @@ -62,14 +62,14 @@ def compact_sprite_sheet(ctx: Context, change: dict): author, author_url = compact_author(ctx, change) link = clean_link(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) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # sprite/slice - Editing a slice @formatter.embed(event="sprite/slice") def embed_sprite_slice(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Edited the slice for {article}").format(article=sanitize_to_markdown(change["title"])) @@ -84,4 +84,4 @@ def compact_sprite_slice(ctx: Context, change: dict): article=sanitize_to_markdown(change[ "title"]), article_url=link) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) diff --git a/extensions/base/translate.py b/extensions/base/translate.py index c4cd67f..aba2652 100644 --- a/extensions/base/translate.py +++ b/extensions/base/translate.py @@ -27,7 +27,7 @@ from src.api.util import embed_helper, compact_author, create_article_path, sani @formatter.embed(event="pagetranslation/mark") def embed_pagetranslation_mark(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) link = create_article_path(sanitize_to_url(change["title"])) if "?" in link: @@ -53,14 +53,14 @@ def compact_pagetranslation_mark(ctx: Context, change: dict): article=sanitize_to_markdown(change["title"]), article_url=link, comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # pagetranslation/unmark - Removing a page from translation system @formatter.embed(event="pagetranslation/unmark") def embed_pagetranslation_unmark(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Removed \"{article}\" from the translation system").format(article=sanitize_to_markdown(change["title"])) @@ -78,14 +78,14 @@ def compact_pagetranslation_unmark(ctx: Context, change: dict): article=sanitize_to_markdown(change["title"]), article_url=link, comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # pagetranslation/moveok - Completed moving translation page @formatter.embed(event="pagetranslation/moveok") def embed_pagetranslation_moveok(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["logparams"]["target"])) embed["title"] = ctx._("Completed moving translation pages from \"{article}\" to \"{target}\"").format( @@ -104,14 +104,14 @@ def compact_pagetranslation_moveok(ctx: Context, change: dict): article=sanitize_to_markdown(change["title"]), target=sanitize_to_markdown(change["logparams"]["target"]), target_url=link, comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # pagetranslation/movenok - Failed while moving translation page @formatter.embed(event="pagetranslation/movenok") def embed_pagetranslation_movenok(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Encountered a problem while moving \"{article}\" to \"{target}\"").format( @@ -132,14 +132,14 @@ def compact_pagetranslation_movenok(ctx: Context, change: dict): target=sanitize_to_markdown(change["logparams"]["target"]), target_url=target_url, comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # pagetranslation/deletefnok - Failure in deletion of translatable page @formatter.embed(event="pagetranslation/deletefnok") def embed_pagetranslation_deletefnok(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Failed to delete \"{article}\" which belongs to translatable page \"{target}\"").format( @@ -160,14 +160,14 @@ def compact_pagetranslation_deletefnok(ctx: Context, change: dict): target=sanitize_to_markdown(change["logparams"]["target"]), target_url=target_url, comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # pagetranslation/deletelok - Completion in deleting a page? @formatter.embed(event="pagetranslation/deletelok") def embed_pagetranslation_deletelok(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Completed deletion of translation page \"{article}\"").format( @@ -186,14 +186,14 @@ def compact_pagetranslation_deletelok(ctx: Context, change: dict): article=sanitize_to_markdown(change["title"]), article_url=link, comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # pagetranslation/deletelnok - Failure in deletion of article belonging to a translation page @formatter.embed(event="pagetranslation/deletelnok") def embed_pagetranslation_deletelnok(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Failed to delete \"{article}\" which belongs to translation page \"{target}\"").format( @@ -214,14 +214,14 @@ def compact_pagetranslation_deletelnok(ctx: Context, change: dict): target=sanitize_to_markdown(change["logparams"]["target"]), target_url=target_url, comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # pagetranslation/encourage - Encouraging to translate an article @formatter.embed(event="pagetranslation/encourage") def embed_pagetranslation_encourage(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Encouraged translation of \"{article}\"").format(article=sanitize_to_markdown(change["title"])) @@ -238,14 +238,14 @@ def compact_pagetranslation_encourage(ctx: Context, change: dict): article=sanitize_to_markdown(change["title"]), article_url=link, comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # pagetranslation/discourage - Discouraging to translate an article @formatter.embed(event="pagetranslation/discourage") def embed_pagetranslation_discourage(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Discouraged translation of \"{article}\"").format(article=sanitize_to_markdown(change["title"])) @@ -262,14 +262,14 @@ def compact_pagetranslation_discourage(ctx: Context, change: dict): article=sanitize_to_markdown(change["title"]), article_url=link, comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # pagetranslation/prioritylanguages - Changing the priority of translations? @formatter.embed(event="pagetranslation/prioritylanguages") def embed_pagetranslation_prioritylanguages(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) if "languages" in change["logparams"]: @@ -313,7 +313,7 @@ def compact_pagetranslation_prioritylanguages(ctx: Context, change: dict): article=sanitize_to_markdown(change["title"]), article_url=link, comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # pagetranslation/associate - Adding an article to translation group @@ -321,7 +321,7 @@ def compact_pagetranslation_prioritylanguages(ctx: Context, change: dict): @formatter.embed(event="pagetranslation/associate") def embed_pagetranslation_associate(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Added translatable page \"{article}\" to aggregate group \"{group}\"").format( @@ -340,14 +340,14 @@ def compact_pagetranslation_associate(ctx: Context, change: dict): article=sanitize_to_markdown(change["title"]), article_url=link, group=change["logparams"]["aggregategroup"], comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # pagetranslation/dissociate - Removing an article from translation group @formatter.embed(event="pagetranslation/dissociate") def embed_pagetranslation_dissociate(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Removed translatable page \"{article}\" from aggregate group \"{group}\"").format( @@ -366,14 +366,14 @@ def compact_pagetranslation_dissociate(ctx: Context, change: dict): article=sanitize_to_markdown(change["title"]), article_url=link, group=change["logparams"]["aggregategroup"], comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # translationreview/message - Reviewing translation @formatter.embed(event="translationreview/message") def embed_translationreview_message(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) link = create_article_path(sanitize_to_url(change["title"])) if "?" in link: @@ -399,14 +399,14 @@ def compact_translationreview_message(ctx: Context, change: dict): article=sanitize_to_markdown(change["title"]), article_url=link, comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # translationreview/group - Changing of state for group translation? @formatter.embed(event="translationreview/group") def embed_translationreview_group(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) embed["title"] = ctx._("Changed the state of `{language}` translations of \"{article}\"").format( @@ -437,7 +437,7 @@ def compact_translationreview_group(ctx: Context, change: dict): article=sanitize_to_markdown(change["logparams"]["group-label"]), article_url=link, new_state=change["logparams"]["new-state"], comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) # pagelang/pagelang - Changing the language of a page @@ -453,7 +453,7 @@ def get_languages(change: dict, ctx: Context): @formatter.embed(event="pagelang/pagelang") def embed_pagelang_pagelang(ctx: Context, change: dict): - embed = DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url) + embed = DiscordMessage(ctx.message_type, ctx.event) embed_helper(ctx, embed, change) embed["url"] = create_article_path(sanitize_to_url(change["title"])) old_lang, new_lang = get_languages(change, ctx) @@ -475,4 +475,4 @@ def compact_pagelang_pagelang(ctx: Context, change: dict): article=sanitize_to_markdown(change["title"]), article_url=link, old_lang=old_lang, new_lang=new_lang, comment=parsed_comment ) - return DiscordMessage(ctx.message_type, ctx.event, ctx.webhook_url, content=content) + return DiscordMessage(ctx.message_type, ctx.event, content=content) diff --git a/src/api/context.py b/src/api/context.py index 8da32b2..f50654f 100644 --- a/src/api/context.py +++ b/src/api/context.py @@ -24,9 +24,9 @@ if TYPE_CHECKING: class Context: """Context object containing client and some metadata regarding specific formatter call, 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_url: 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.webhook_url = webhook_url + self.webhook_urls = webhook_urls self.message_type = message_type self.feed_type = feed_type self.categories = None @@ -50,4 +50,4 @@ class Context: self.comment_page = page def __str__(self): - return f" Callable: +def default_message(event: str, display: str, formatter_hooks: dict) -> Callable: """Returns a method of a formatter responsible for the event or None if such does not exist.""" - return formatter_hooks.get(event, formatter_hooks.get("generic", formatter_hooks["no_formatter"])) + return formatter_hooks.get(display, {}).get(event, formatter_hooks.get("generic", formatter_hooks["no_formatter"])) def clean_link(link: str) -> str: diff --git a/src/bot.py b/src/bot.py index d67e975..cb0c802 100644 --- a/src/bot.py +++ b/src/bot.py @@ -233,8 +233,8 @@ async def main_loop(): logger.debug("Connection type: {}".format(db.connection_pool)) await populate_wikis() # START LISTENER CONNECTION - # We are here domains.run_all_domains() + # We are here try: signals = (signal.SIGHUP, signal.SIGTERM, signal.SIGINT) for s in signals: diff --git a/src/discord/message.py b/src/discord/message.py index e3d2f36..bc867f1 100644 --- a/src/discord/message.py +++ b/src/discord/message.py @@ -18,9 +18,12 @@ import math import random from collections import defaultdict +from typing import Optional + with open("src/api/template_settings.json", "r") as template_json: settings: dict = json.load(template_json) + class DiscordMessageMetadata: def __init__(self, method, log_id = None, page_id = None, rev_id = None, webhook_url = None, new_data = None): self.method = method @@ -42,11 +45,10 @@ class DiscordMessageMetadata: class DiscordMessage: """A class defining a typical Discord JSON representation of webhook payload.""" - def __init__(self, message_type: str, event_type: str, webhook_url: str, metadata: DiscordMessageMetadata, content=None): + def __init__(self, message_type: str, event_type: str, content=None): self.webhook_object = dict(allowed_mentions={"parse": []}) - self.webhook_url = webhook_url self.length = 0 - self.metadata = metadata + self.metadata: Optional[DiscordMessageMetadata] = None if message_type == "embed": self.__setup_embed() diff --git a/src/discussions.py b/src/discussions.py new file mode 100644 index 0000000..53ffba4 --- /dev/null +++ b/src/discussions.py @@ -0,0 +1,28 @@ +from collections import OrderedDict + +import src.wiki + + +class Discussions(): + def __init__(self, wikis: OrderedDict[str, src.wiki.Wiki]): + self.wikis = wikis + + async def tick_discussions(self): + while True: + try: + wiki_url = self.irc.updated_wikis.pop() + except KeyError: + break + try: + wiki = self.wikis[wiki_url] + except KeyError: + logger.error(f"Could not find a wiki with URL {wiki_url} in the domain group!") + continue + await self.run_discussion_scan(wiki) + for wiki in self.wikis.values(): + if wiki.statistics.last_checked_discussion < settings.get("irc_overtime", 3600): + await self.run_discussion_scan(wiki) + else: + return # Recently scanned wikis will get at the end of the self.wikis, so we assume what is first hasn't been checked for a while + + async def add_wiki(self, wiki): \ No newline at end of file diff --git a/src/domain.py b/src/domain.py index 9575b89..8b10e3c 100644 --- a/src/domain.py +++ b/src/domain.py @@ -5,6 +5,7 @@ from collections import OrderedDict from src.config import settings from typing import TYPE_CHECKING, Optional from functools import cache +from src.discussions import Discussions logger = logging.getLogger("rcgcdb.domain") if TYPE_CHECKING: @@ -17,9 +18,10 @@ class Domain: def __init__(self, name: str): self.name = name # This should be always in format of topname.extension for example fandom.com self.task: Optional[asyncio.Task] = None - self.wikis: OrderedDict[str, src.wiki.Wiki] = OrderedDict() # TODO Check if we can replace with https://docs.python.org/3/library/asyncio-queue.html + self.wikis: OrderedDict[str, src.wiki.Wiki] = OrderedDict() self.rate_limiter: src.wiki_ratelimiter = src.wiki_ratelimiter.RateLimiter() self.irc: Optional[src.irc_feed.AioIRCCat] = None + self.discussions_handler: Optional[Discussions] = None def __iter__(self): return iter(self.wikis) @@ -42,7 +44,7 @@ class Domain: def run_domain(self): if not self.task or self.task.cancelled(): - self.task = asyncio.create_task(self.run_wiki_check()) + self.task = asyncio.create_task(self.run_wiki_check(), name=self.name) else: logger.error(f"Tried to start a task for domain {self.name} however the task already exists!") @@ -57,7 +59,8 @@ class Domain: wiki.set_domain(self) if wiki.script_url in self.wikis: self.wikis[wiki.script_url].update_targets() - self.wikis[wiki.script_url] = wiki + else: + self.wikis[wiki.script_url] = wiki if first: self.wikis.move_to_end(wiki.script_url, last=False) diff --git a/src/domain_manager.py b/src/domain_manager.py index 3bd8112..eea1019 100644 --- a/src/domain_manager.py +++ b/src/domain_manager.py @@ -26,7 +26,7 @@ class DomainManager: if len(split_payload) < 2: raise ValueError("Improper pub/sub message! Pub/sub payload: {}".format(payload)) if split_payload[0] == "ADD": - await self.new_wiki(Wiki(split_payload[1], None, None)) # TODO Can already exist + await self.new_wiki(Wiki(split_payload[1], None, None)) elif split_payload[0] == "REMOVE": try: results = await connection.fetch("SELECT * FROM rcgcdw WHERE wiki = $1;", split_payload[1]) @@ -65,6 +65,9 @@ class DomainManager: parsed_url = urlparse(url) return ".".join(urlunparse((*parsed_url[0:2], "", "", "", "")).split(".")[-2:]) + def return_domain(self, domain: str): + return self.domains[domain] + async def new_domain(self, name: str) -> Domain: domain_object = Domain(name) for irc_server in settings["irc_servers"].keys(): @@ -74,7 +77,7 @@ class DomainManager: self.domains[name] = domain_object return self.domains[name] - async def run_all_domains(self): + def run_all_domains(self): for domain in self.domains.values(): domain.run_domain() diff --git a/src/irc_feed.py b/src/irc_feed.py index 7229b5c..ebdfa98 100644 --- a/src/irc_feed.py +++ b/src/irc_feed.py @@ -6,7 +6,7 @@ import types import irc.client_aio import json import logging -from typing import TYPE_CHECKING, Callable +from typing import TYPE_CHECKING, Callable, Optional from urllib.parse import urlparse, quote logger = logging.getLogger("rcgcdw.irc_feed") @@ -19,10 +19,11 @@ class AioIRCCat(irc.client_aio.AioSimpleIRCClient): super().connect(*args, **kwargs) self.connection_details = (args, kwargs) - def __init__(self, targets: dict[str, str], domain_object: Domain, rc_callback: Callable, discussion_callback: Callable): + def __init__(self, targets: dict[str, str], domain_object: Domain, rc_callback: Optional[Callable], discussion_callback: Optional[Callable]): irc.client_aio.SimpleIRCClient.__init__(self) self.targets = targets self.updated_wikis: set[str] = set() + self.rc_callback = rc_callback self.discussion_callback = discussion_callback self.domain = domain_object self.connection.buffer_class.errors = "replace" # Ignore encoding errors diff --git a/src/wiki.py b/src/wiki.py index b3ed5aa..b89148a 100644 --- a/src/wiki.py +++ b/src/wiki.py @@ -1,5 +1,7 @@ from __future__ import annotations +import concurrent.futures +import functools import json import time from dataclasses import dataclass @@ -17,6 +19,7 @@ from src.formatters.discussions import feeds_embed_formatter, feeds_compact_form from src.api.hooks import formatter_hooks from src.api.client import Client from src.api.context import Context +from src.discord.message import DiscordMessage, DiscordMessageMetadata from src.misc import parse_link from src.i18n import langs from src.wiki_ratelimiter import RateLimiter @@ -48,6 +51,7 @@ class Wiki: self.domain: Optional[Domain] = None self.targets: Optional[defaultdict[Settings, list[str]]] = None self.client: Client = Client(formatter_hooks, self) + self.message_history = self.update_targets() @@ -252,7 +256,7 @@ class Wiki: if highest_id is None or change["rcid"] > highest_id: # make sure that the highest_rc is really highest rcid but do allow other entries with potentially lesser rcids come after without breaking the cycle highest_id = change["rcid"] for combination, webhooks in self.targets.items(): - message, metadata = await rc_processor(self, change, categorize_events, combination, webhooks) + message = await rc_processor(self, change, categorize_events, combination, webhooks) break @cache @@ -265,22 +269,22 @@ def prepare_settings(display_mode: int) -> dict: return template -async def rc_processor(wiki: Wiki, change: dict, changed_categories: dict, display_options: namedtuple("Settings", ["lang", "display"]), webhooks: list) -> tuple[ - discord.discord.DiscordMessage, discord.discord.DiscordMessageMetadata]: +async def rc_processor(wiki: Wiki, change: dict, changed_categories: dict, display_options: namedtuple("Settings", ["lang", "display"]), webhooks: list) -> DiscordMessage: from src.misc import LinkParser LinkParser = LinkParser() - metadata = discord.discord.DiscordMessageMetadata("POST", rev_id=change.get("revid", None), log_id=change.get("logid", None), + metadata = DiscordMessageMetadata("POST", rev_id=change.get("revid", None), log_id=change.get("logid", None), page_id=change.get("pageid", None)) - context = Context("embed" if display_options.display > 0 else "compact", "recentchanges", webhook, wiki.client, langs[display_options.lang]["rc_formatters"], prepare_settings(display_options.display)) + context = Context("embed" if display_options.display > 0 else "compact", "recentchanges", webhooks, wiki.client, langs[display_options.lang]["rc_formatters"], prepare_settings(display_options.display)) if ("actionhidden" in change or "suppressed" in change) and "suppressed" not in settings["ignored"]: # if event is hidden using suppression context.event = "suppressed" try: - discord_message: Optional[discord.discord.DiscordMessage] = default_message("suppressed", display_options.display, formatter_hooks)(context, change) + discord_message: Optional[DiscordMessage] = await asyncio.get_event_loop().run_in_executor( + None, functools.partial(default_message("suppressed", display_options.display, formatter_hooks), context, change)) except NoFormatter: return except: if settings.get("error_tolerance", 1) > 0: - discord_message: Optional[discord.discord.DiscordMessage] = None # It's handled by send_to_discord, we still want other code to run + discord_message: Optional[DiscordMessage] = None # It's handled by send_to_discord, we still want other code to run else: raise else: @@ -312,12 +316,12 @@ async def rc_processor(wiki: Wiki, change: dict, changed_categories: dict, displ return context.event = identification_string try: - discord_message: Optional[discord.discord.DiscordMessage] = default_message(identification_string, formatter_hooks)(context, - change) + discord_message: Optional[DiscordMessage] = await asyncio.get_event_loop().run_in_executor(None, + functools.partial(default_message(identification_string, display_options.display, formatter_hooks), context, + change)) except: if settings.get("error_tolerance", 1) > 0: - discord_message: Optional[ - discord.discord.DiscordMessage] = None # It's handled by send_to_discord, we still want other code to run + discord_message: Optional[DiscordMessage] = None # It's handled by send_to_discord, we still want other code to run else: raise if identification_string in ("delete/delete", "delete/delete_redir"): # TODO Move it into a hook? @@ -337,7 +341,9 @@ async def rc_processor(wiki: Wiki, change: dict, changed_categories: dict, displ for revid in logparams.get("ids", []): delete_messages(dict(revid=revid)) discord_message.finish_embed() - return discord_message, metadata + if discord_message: + discord_message.metadata = metadata + return discord_message @dataclass