diff --git a/setup-scripts/bot_utils.py b/setup-scripts/bot_utils.py index 0eb08aca..f0c59cfa 100644 --- a/setup-scripts/bot_utils.py +++ b/setup-scripts/bot_utils.py @@ -9,7 +9,8 @@ import urllib, json, os, traceback, discord, sys # sc_precision is the number of hastings per siacoin sc_precision = 10 ** 24 -channel_name = "skynet-portal-health-check" +CHANNEL_NAME = "skynet-portal-health-check" +ROLE_NAME = "skynet-prod" # Environment variable globals api_endpoint, port, portal_name, bot_token, password = None, None, None, None, None @@ -50,21 +51,28 @@ async def send_msg(client, msg, force_notify=False, file=None): await client.wait_until_ready() guild = client.guilds[0] - channels = guild.channels chan = None - for c in channels: - if c.name == channel_name: + for c in guild.channels: + if c.name == CHANNEL_NAME: chan = c + break if chan is None: - print("Can't find channel {}".format(channel_name)) + print("Can't find channel {}".format(CHANNEL_NAME)) + + # Get the prod team role + role = None + for r in guild.roles: + if r.name == ROLE_NAME: + role = r + break # Add the portal name. msg = "`{}`: {}".format(portal_name, msg) if force_notify: - msg = "@here: \n{}".format(msg) + msg = "{}: \n{}".format(role.mention, msg) await chan.send(msg, file=file) diff --git a/setup-scripts/funds-checker.py b/setup-scripts/funds-checker.py index d0750a8c..c40089e4 100755 --- a/setup-scripts/funds-checker.py +++ b/setup-scripts/funds-checker.py @@ -56,12 +56,13 @@ async def check_health(): # Send an alert if there is less than 1 allowance worth of money left. if balance < allowance_funds: - await send_msg(client, "Wallet balance running low. \n{}`".format(balance_msg), force_notify=True) + await send_msg(client, "Wallet balance running low. \n{}".format(balance_msg), force_notify=True) return - # Alert devs when 1/2 the allowance is gone - if allocated_funds >= unallocated_funds: - await send_msg(client, "Allowance half spent: \n{}".format(alloc_msg), force_notify=True) + # Alert devs when only a fraction of the allowance is remaining. + UNALLOC_THRESHOLD = 0.2 + if allocated_funds >= UNALLOC_THRESHOLD * allowance_funds : + await send_msg(client, "{} of allowance spent: \n{}".format(UNALLOC_THRESHOLD, alloc_msg), force_notify=True) return # Send an informational heartbeat if all checks passed.