]> git.somenet.org - pub/jan/mattermost-bot.git/blob - modules/TACommandDelAnnounce.py
[somebot] /mod-del-delayed <post-permalink> <reason>
[pub/jan/mattermost-bot.git] / modules / TACommandDelAnnounce.py
1 # Mattermost Bot module.
2 #  Copyright (c) 2016-2021 by Someone <someone@somenet.org> (aka. Jan Vales <jan@jvales.net>)
3 #  published under MIT-License
4
5
6
7 from AbstractCommand import *
8 class TACommandDelAnnounce(AbstractCommand):
9     TRIGGER = "ta-delete-announce"
10     CONFIG = {"display_name": "somebot-command", "auto_complete": True,
11               "auto_complete_hint": "<permalink>",
12              }
13     CONFIG["auto_complete_desc"] = CONFIG["description"] = "Delete announcement referenced by <permalink>. Must be executed in the same team. [TEAM_ADMIN]"
14
15
16     def on_POST(self, request, data):
17         self._require_team_admin(data) # will throw an exception if not. (Dont try-except: Its handled up the stack.)
18
19         try:
20             splitpath = data['text'].strip().strip("/").split("/")
21             if splitpath[4] == "pl":
22                 pl_post_id = splitpath[5]
23         except:
24             request.cmd_respond_text_temp("The parameter is not a valid post-permalink. :(")
25             return
26
27         post = self.bot.api.get_post(pl_post_id)
28         channel = self.bot.api.get_channel(post["channel_id"])
29
30         if channel['team_id'] == data['team_id']:
31             self.bot.api.delete_post(splitpath[5])
32             request.cmd_respond_text_temp("### ``Done.`` :)")
33
34         else:
35             request.cmd_respond_text_temp("Falsches Team?")