81 lines
2.6 KiB
Python
81 lines
2.6 KiB
Python
from bs4 import BeautifulSoup
|
|
from discord import option
|
|
from discord.ext import commands, tasks
|
|
import discord
|
|
import requests
|
|
|
|
|
|
import star_citizen
|
|
|
|
|
|
class StarCitizen(commands.Cog):
|
|
def __init__(self, bot):
|
|
self.bot: commands.Bot = bot
|
|
# self.poll_status_page.start()
|
|
|
|
@commands.slash_command(
|
|
guild_ids=None,
|
|
name="medpens",
|
|
description="Posts an infographic about which medpens to use for which injuries in Star Citizen",
|
|
)
|
|
async def post_medpen_guide(self, ctx: commands.Context):
|
|
await ctx.respond("https://i.redd.it/lfswlf5c13t71.png")
|
|
|
|
@commands.slash_command(
|
|
guild_ids=None,
|
|
name="ship",
|
|
description="Query the star citizen database about a ship",
|
|
)
|
|
@option(
|
|
name="ship",
|
|
description="Ship you want info on, must be the exact name of the ship, eg Aegs Avenger",
|
|
required=True,
|
|
)
|
|
async def star_citizen(self, ctx: commands.Context, ship):
|
|
await ctx.defer()
|
|
embed = await star_citizen.get_ship(ship_name=ship)
|
|
await ctx.send_followup(embed=embed)
|
|
|
|
# @tasks.loop(seconds=5)
|
|
# async def poll_status_page(self):
|
|
# # Wait until the bot is ready before we actually start executing code
|
|
# await self.bot.wait_until_ready()
|
|
|
|
# status_url = "https://status.robertsspaceindustries.com/"
|
|
|
|
# response = requests.get(status_url).text
|
|
# soup = BeautifulSoup(response, "html.parser")
|
|
|
|
# current_status = soup.find("div", {"class": "global-status"}).findNext("span")
|
|
|
|
# self.notified = 0
|
|
# if current_status.text != "Operational" and self.notified == 0:
|
|
# # Find the lastest incident
|
|
# latest_incident = current_status.findNext("h2")
|
|
# details = latest_incident.findNext("div", {"class": "markdown"})
|
|
|
|
# embed = discord.Embed(
|
|
# description="-------", color=discord.Color.red(), type="rich"
|
|
# )
|
|
|
|
# embed.set_thumbnail(
|
|
# url="https://media.robertsspaceindustries.com/t0q21kbb3zrpt/source.png"
|
|
# )
|
|
# embed.set_author(name="OH NO THERE IS AN INCIDENT")
|
|
# embed.add_field(name="Details", value=details.text, inline=True)
|
|
|
|
# embed.add_field(
|
|
# name="LINK",
|
|
# value=status_url + latest_incident.findNext("a")["href"],
|
|
# inline=False,
|
|
# )
|
|
|
|
# channel = await self.bot.get_channel(1097567909640929340).send(embed=embed)
|
|
# self.notified = 1
|
|
# else:
|
|
# self.notified = 0
|
|
|
|
|
|
def setup(bot):
|
|
bot.add_cog(StarCitizen(bot))
|