]> git.somenet.org - pub/jan/mattermost.git/blob - somebot/modules/TACommandDelAnnounce.py
[somebot] /randomfood
[pub/jan/mattermost.git] / somebot / modules / TACommandDelAnnounce.py
1 # Mattermost Bot.
2 #  Copyright (c) 2016-2020 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         user = self.bot.api.get_team_member(data["team_id"], data["user_id"])
18         if "team_admin" not in user["roles"]:
19             request.cmd_respond_text_temp("### You are not a Team Admin. :(")
20             return
21
22         try:
23             splitpath = data['text'].strip().strip("/").split("/")
24             if splitpath[4] == "pl":
25                 pl_post_id = splitpath[5]
26         except:
27             request.cmd_respond_text_temp("The parameter is not a valid post-permalink. :(")
28             return
29
30         post = self.bot.api.get_post(pl_post_id)
31         channel = self.bot.api.get_channel(post["channel_id"])
32
33         if channel['team_id'] == data['team_id']:
34             self.bot.api.delete_post(splitpath[5])
35             request.cmd_respond_text_temp("### ``Done.`` :)")
36
37         else:
38             request.cmd_respond_text_temp("Falsches Team?")