]> git.somenet.org - pub/jan/mattermost-bot.git/blob - core/AbstractPublicWS.py
new file: modules/WSvalentinesday.py
[pub/jan/mattermost-bot.git] / core / AbstractPublicWS.py
1 # Mattermost Bot.
2 #  Copyright (c) 2016-2022 by Someone <someone@somenet.org> (aka. Jan Vales <jan@jvales.net>)
3 #  published under MIT-License
4
5
6 import mattermost
7
8
9 class AbstractPublicWS():
10     URL = None
11     TRIGGER = None
12     CONFIG = {"display_name": "somebot-command", "auto_complete": True}
13
14     bot = None
15
16
17     def __init__(self, team_id):
18         self.TEAM_ID = team_id
19
20     def __str__(self):
21         return str(self.__class__)
22
23     def __repr__(self):
24         return self.__str__()
25
26
27     # can/should be overridden by the user
28     def on_register_public(self):
29         """Consider to override. Handles the post-command-registration logic at bot startup."""
30         return
31
32     # should be overridden by the user
33     def on_public_GET(self, request, data):
34         """Override. Handles the post-command logic."""
35         return
36
37     # should be overridden by the user
38     def on_public_POST(self, request, data):
39         """Override. Handles the post-command logic."""
40         return
41
42
43     def _on_register_public(self, bot):
44         self.bot = bot
45         #self.URL = ("http://"+self.bot.local_websrv_hostname+":"+str(self.bot.local_websrv_port)+"/").strip("/")+"/"+self.TEAM_ID+"/"+self.TRIGGER
46         self.URL = ("http://"+self.bot.local_websrv_hostname+":"+str(self.bot.local_websrv_port)+"/").strip("/")+"/"+self.TRIGGER
47         self.on_register_public()
48
49
50     def _on_shutdown(self):
51         self.on_shutdown()
52
53
54     def _on_public_GET(self, request, data):
55             return self.on_public_GET(request, data)
56
57     def _on_public_POST(self, request, data):
58             return self.on_public_POST(request, data)