serverwatcher 5.33a1__tar.gz → 5.33a2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. {serverwatcher-5.33a1/src/serverwatcher.egg-info → serverwatcher-5.33a2}/PKG-INFO +1 -1
  2. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/pyproject.toml +1 -1
  3. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/src/serverwatcher/configclasses/config.py +8 -0
  4. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/src/serverwatcher/defaultconfigs/config.yaml +5 -0
  5. serverwatcher-5.33a2/src/serverwatcher/discord_bot_webook.py +13 -0
  6. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/src/serverwatcher/watcher.py +5 -1
  7. {serverwatcher-5.33a1 → serverwatcher-5.33a2/src/serverwatcher.egg-info}/PKG-INFO +1 -1
  8. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/src/serverwatcher.egg-info/SOURCES.txt +1 -0
  9. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/LICENSE +0 -0
  10. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/README.md +0 -0
  11. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/setup.cfg +0 -0
  12. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/src/serverwatcher/__init__.py +0 -0
  13. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/src/serverwatcher/__main__.py +0 -0
  14. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/src/serverwatcher/configclasses/__init__.py +0 -0
  15. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/src/serverwatcher/configclasses/messages.py +0 -0
  16. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/src/serverwatcher/configclasses/watcher.py +0 -0
  17. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/src/serverwatcher/defaultconfigs/messages.yaml +0 -0
  18. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/src/serverwatcher/defaultconfigs/watcher.yaml +0 -0
  19. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/src/serverwatcher/validator.py +0 -0
  20. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/src/serverwatcher.egg-info/dependency_links.txt +0 -0
  21. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/src/serverwatcher.egg-info/requires.txt +0 -0
  22. {serverwatcher-5.33a1 → serverwatcher-5.33a2}/src/serverwatcher.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: serverwatcher
3
- Version: 5.33a1
3
+ Version: 5.33a2
4
4
  Summary: A HungerLib-powered Minecraft server automation engine.
5
5
  Author: iFamished
6
6
  License: GPL-3.0
@@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
7
7
 
8
8
  [project]
9
9
  name = "serverwatcher"
10
- version = "5.33.alpha1"
10
+ version = "5.33.alpha2"
11
11
  description = "A HungerLib-powered Minecraft server automation engine."
12
12
  readme = "README.md"
13
13
  requires-python = ">=3.14"
@@ -20,6 +20,10 @@ class GlobalConfig:
20
20
  bridge_token: str = 'hungerbridge.token'
21
21
  bridge_url: str = 'hungerbridge.url'
22
22
 
23
+ discord_enabled = 'discord.enabled'
24
+ discord_token = 'discord.token'
25
+ discord_url = 'discord.url'
26
+
23
27
  enable_logging: bool = 'logger.enabled'
24
28
  logger_name: str = 'logger.name'
25
29
  log_path: str = 'logger.log_path'
@@ -49,6 +53,10 @@ class fallbacks:
49
53
  bridge_token = 'CHANGE_ME'
50
54
  bridge_url = 'https://api.example.com:1913'
51
55
 
56
+ discord_enabled = True
57
+ discord_token = 'CHANGE_ME'
58
+ discord_url = 'https://bot.example.com'
59
+
52
60
  enable_logging = True
53
61
  logger_name = 'Server Watcher'
54
62
  log_path = '/home/container/logs/'
@@ -16,6 +16,11 @@ hungerbridge:
16
16
  token: 'CHANGE_ME'
17
17
  url: 'https://api.example.com:1913'
18
18
 
19
+ discord:
20
+ enabled: True
21
+ token: 'CHANGE_ME'
22
+ url: 'https://bot.example.com'
23
+
19
24
  logger:
20
25
  enabled: True
21
26
  name: 'Server Watcher'
@@ -0,0 +1,13 @@
1
+ import requests
2
+
3
+ class DiscordBotWebhook:
4
+ def __init__(self, url: str, token: str):
5
+ self.url = url
6
+ self.token = token
7
+
8
+ def send(self, content: str, **ctx):
9
+ requests.post(
10
+ self.url,
11
+ json={"content": content, **ctx},
12
+ timeout=5
13
+ ).raise_for_status()
@@ -1,7 +1,7 @@
1
- import os
2
1
  import time
3
2
  from zoneinfo import ZoneInfo
4
3
 
4
+ from .discord_bot_webook import DiscordBotWebhook
5
5
  from hungerlib import servers, MessageRouter, loadConfig, utils
6
6
  from mapres import MapResolver, maps
7
7
 
@@ -99,6 +99,7 @@ class ServerWatcher:
99
99
  )
100
100
 
101
101
  self.tz = ZoneInfo(self.config.timezone)
102
+ self.Webhook = DiscordBotWebhook(url = self.config.discord_url, token = self.config.discord_token)
102
103
 
103
104
  def clearTerminal(self):
104
105
  if self.config.clear_terminal:
@@ -263,11 +264,14 @@ class ServerWatcher:
263
264
  if gap <= self.watcherconfig.threshold_low_gap:
264
265
  self.router.warn(self.messages.gap_low, gap=gap)
265
266
  self.schedule_restart(self.watcherconfig.low_gap_minutes)
267
+ # send discord message
266
268
  else:
267
269
  self.router.warn(self.messages.gap_high, gap=gap)
268
270
  self.schedule_restart(self.watcherconfig.high_gap_minutes)
271
+ # send discord message
269
272
 
270
273
  self.restart_and_wait()
274
+ # send discord message
271
275
 
272
276
  def run(self):
273
277
  if self.config.handle_keyboard_interrupt:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: serverwatcher
3
- Version: 5.33a1
3
+ Version: 5.33a2
4
4
  Summary: A HungerLib-powered Minecraft server automation engine.
5
5
  Author: iFamished
6
6
  License: GPL-3.0
@@ -3,6 +3,7 @@ README.md
3
3
  pyproject.toml
4
4
  src/serverwatcher/__init__.py
5
5
  src/serverwatcher/__main__.py
6
+ src/serverwatcher/discord_bot_webook.py
6
7
  src/serverwatcher/validator.py
7
8
  src/serverwatcher/watcher.py
8
9
  src/serverwatcher.egg-info/PKG-INFO
File without changes
File without changes
File without changes