add option to pass channel and notify role to health check script
This commit is contained in:
parent
8918b1f1dd
commit
fde760ec86
|
@ -10,9 +10,6 @@ import urllib, json, os, traceback, discord, sys, re, subprocess, requests, io
|
||||||
# sc_precision is the number of hastings per siacoin
|
# sc_precision is the number of hastings per siacoin
|
||||||
sc_precision = 10 ** 24
|
sc_precision = 10 ** 24
|
||||||
|
|
||||||
CHANNEL_NAME = "skynet-portal-health-check"
|
|
||||||
ROLE_NAME = "skynet-prod"
|
|
||||||
|
|
||||||
# Environment variable globals
|
# Environment variable globals
|
||||||
api_endpoint, port, portal_name, bot_token, password = None, None, None, None, None
|
api_endpoint, port, portal_name, bot_token, password = None, None, None, None, None
|
||||||
discord_client = None
|
discord_client = None
|
||||||
|
@ -50,7 +47,13 @@ def setup():
|
||||||
load_dotenv(dotenv_path=env_path, override=True)
|
load_dotenv(dotenv_path=env_path, override=True)
|
||||||
|
|
||||||
global bot_token
|
global bot_token
|
||||||
bot_token = os.environ["DISCORD_BOT_TOKEN"]
|
bot_token = os.getenv("DISCORD_BOT_TOKEN")
|
||||||
|
|
||||||
|
global bot_channel
|
||||||
|
bot_channel = os.getenv("DISCORD_BOT_CHANNEL", "server-health")
|
||||||
|
|
||||||
|
global bot_notify_role
|
||||||
|
bot_notify_role = os.getenv("DISCORD_BOT_NOTIFY_ROLE", "skynet-prod")
|
||||||
|
|
||||||
global portal_name
|
global portal_name
|
||||||
portal_name = os.getenv("SKYNET_SERVER_API")
|
portal_name = os.getenv("SKYNET_SERVER_API")
|
||||||
|
@ -80,17 +83,17 @@ async def send_msg(client, msg, force_notify=False, file=None):
|
||||||
|
|
||||||
chan = None
|
chan = None
|
||||||
for c in guild.channels:
|
for c in guild.channels:
|
||||||
if c.name == CHANNEL_NAME:
|
if c.name == bot_channel:
|
||||||
chan = c
|
chan = c
|
||||||
break
|
break
|
||||||
|
|
||||||
if chan is None:
|
if chan is None:
|
||||||
print("Can't find channel {}".format(CHANNEL_NAME))
|
print("Can't find channel {}".format(bot_channel))
|
||||||
|
|
||||||
# Get the prod team role
|
# Get the prod team role
|
||||||
role = None
|
role = None
|
||||||
for r in guild.roles:
|
for r in guild.roles:
|
||||||
if r.name == ROLE_NAME:
|
if r.name == bot_notify_role:
|
||||||
role = r
|
role = r
|
||||||
break
|
break
|
||||||
|
|
||||||
|
@ -113,7 +116,7 @@ async def send_msg(client, msg, force_notify=False, file=None):
|
||||||
io.BytesIO(file.encode()), filename=filename
|
io.BytesIO(file.encode()), filename=filename
|
||||||
) # wrap text into discord file wrapper
|
) # wrap text into discord file wrapper
|
||||||
|
|
||||||
if force_notify:
|
if force_notify and role:
|
||||||
msg = "{} /cc {}".format(msg, role.mention)
|
msg = "{} /cc {}".format(msg, role.mention)
|
||||||
|
|
||||||
await chan.send(msg, file=file)
|
await chan.send(msg, file=file)
|
||||||
|
|
Reference in New Issue