feat(commands:isdown|Network): add isitdown api
This commit is contained in:
parent
1f367fd2df
commit
c6a5dc4ad6
1 changed files with 34 additions and 0 deletions
|
@ -251,3 +251,37 @@ class Network(commands.Cog):
|
|||
e.add_field(name="Websocket", value=f"{latency}ms")
|
||||
e.add_field(name="Typing", value=f"{typing}ms")
|
||||
await ctx.send(embed=e)
|
||||
|
||||
@command_extra(name="isdown", aliases=["is_down", "down?"], deletable=True)
|
||||
async def _isdown(self, ctx: ContextPlus, domain: IPConverter):
|
||||
try:
|
||||
async with self.bot.session.get(
|
||||
f"https://isitdown.site/api/v3/{domain}",
|
||||
timeout=aiohttp.ClientTimeout(total=8),
|
||||
) as s:
|
||||
json = await s.json()
|
||||
|
||||
if json["isitdown"]:
|
||||
title = _("Down...", ctx, self.bot.config)
|
||||
color = 0xDC3545
|
||||
else:
|
||||
title = _("Up!", ctx, self.bot.config)
|
||||
color = 0x28A745
|
||||
|
||||
e = discord.Embed(title=title, color=color)
|
||||
e.set_thumbnail(
|
||||
url=f"https://http.cat/{json['response_code']}"
|
||||
)
|
||||
|
||||
await ctx.send(embed=e)
|
||||
|
||||
except (
|
||||
ClientConnectorError,
|
||||
InvalidURL,
|
||||
asyncio.exceptions.TimeoutError,
|
||||
):
|
||||
await ctx.send(
|
||||
_("Cannot connect to host {}", ctx, self.bot.config).format(
|
||||
domain
|
||||
)
|
||||
)
|
||||
|
|
Loading…
Reference in a new issue