Compare commits

...

2 Commits

Author SHA1 Message Date
bobloy 7c5f0bcf9b Merge branch 'master' into isitdown_initial
4 years ago
bobloy da31d69f70 Add monitoring
4 years ago

@ -2,6 +2,7 @@ import logging
import re
import aiohttp
import discord
from redbot.core import Config, commands
from redbot.core.bot import Red
@ -46,6 +47,43 @@ class IsItDown(commands.Cog):
else:
await ctx.maybe_send_embed(f"{url_to_check} is UP!")
@commands.admin()
@commands.command(alias=["iidmonitor"])
async def isitdownmonitor(self, ctx: commands.Context, announce_channel: discord.TextChannel,
url_to_check):
"""
Add a continuous monitoring for a url and a channel to post updates in.
"""
try:
resp = await self._check_if_down(url_to_check)
except AssertionError:
await ctx.maybe_send_embed("Invalid URL provided. Make sure not to include `http://`")
return
async with self.config.guild(ctx.guild).iids() as iids:
iids.append((announce_channel.id, url_to_check))
await ctx.maybe_send_embed(
f"{announce_channel.mention} will now receive alerts when the status of {url_to_check} changes")
@commands.admin()
@commands.command(alias=["iidlist"])
async def isitdownlist(self, ctx: commands.Context):
"""
List all checks that have been setup across all guilds
"""
if not await self.config.guild(ctx.guild).iids():
await ctx.maybe_send_embed("No urls are configured to be checked")
em = discord.Embed("")
@commands.admin()
@commands.command(alias=["iidclear"])
async def isitdownclear(self, ctx: commands.Context):
"""
Clear all checks that have been setup across all guilds
"""
async def _check_if_down(self, url_to_check):
url = re.compile(r"https?://(www\.)?")
url.sub("", url_to_check).strip().strip("/")

Loading…
Cancel
Save