]> git.somenet.org - pub/jan/mattermost-bot.git/blob - modules/TACommandAnnounceAll.py
README.md
[pub/jan/mattermost-bot.git] / modules / TACommandAnnounceAll.py
1 # Mattermost Bot module.
2 #  Copyright (c) 2016-2022 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 TACommandAnnounceAll(AbstractCommand):
9     TRIGGER = "ta-announce-all"
10     CONFIG = {"display_name": "somebot-command", "auto_complete": True,
11               "auto_complete_hint": "<text>",
12              }
13     CONFIG["auto_complete_desc"] = CONFIG["description"] = "Posts <text> into every teams' announcement channel where the poster is a TA. [TEAM_ADMIN]"
14
15
16     def on_POST(self, request, data):
17         posted_to = ""
18
19         for t in self.bot.api.get_teams():
20             user = self.bot.api.get_team_member(t["id"], data["user_id"], exc=False)
21
22             if "roles" in user and "team_admin" in user["roles"]:
23                 channel = self.bot.api.get_channel_by_name(t["id"], "town-square")
24                 self.bot.api.create_post(channel["id"], data["text"])
25                 posted_to += "\n+ "+t["name"]
26
27         if posted_to != "":
28             request.cmd_respond_text_temp("### ``Done.`` :)\n\nPosted to:"+posted_to)
29         else:
30             request.cmd_respond_text_temp("### ``Done.`` :(\n\nDid not post anything. Are you a Team-Admin anywhere?")