This commit is contained in:
DasMoorhuhn 2023-02-03 19:48:22 +01:00
parent cd02852691
commit cb86ea391c
5 changed files with 40 additions and 5 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
secret.txt
data

View File

@ -1,4 +1,6 @@
import requests
from models.xkcdComic import Comic
import json
class ProgrammerExcuses:
def __init__(self) -> None:
@ -16,9 +18,11 @@ class ProgrammerExcuses:
class XKCD:
def __init__(self) -> None:
self.__url = "https://xkcd.com"
self.__api = "info.0.json"
def getRandomComic(self):
pass
def getLastComic(self):
pass
response = requests.api.get(f"{self.__url}/{self.__api}")
return Comic(json.loads(response.text))

View File

@ -2,11 +2,12 @@ import time as t
import asyncio
import logging
import datetime
from unicodedata import category
import secretHandler
from addons import ProgrammerExcuses
from addons import XKCD
from models.xkcdComic import Comic
import discord
from discord import Status
from discord import app_commands
@ -86,9 +87,12 @@ async def on_guild_join(guild: Guild):
async def slash(interaction: Interaction):
await interaction.response.send_message(programmerExcuses.getExcuse())
@tree.command(name='get-latest-comic', description='Get latest comic from XKCD')
async def slash(interaction: Interaction):
comic = xkcd.getLastComic()
embed = discord.Embed(title=comic.title, description=comic.alt, color=Color.blue(), url=comic.img)
await interaction.response.send_message(embed=embed)
@tree.command(name="info", description="get info about this server")
async def slash(interaction: Interaction):

13
src/models/response.json Normal file
View File

@ -0,0 +1,13 @@
{
"month": "2",
"num": 2732,
"link": "",
"year": "2023",
"news": "",
"safe_title": "Bursa of Fabricius",
"transcript": "",
"alt": "If an anatomical structure is named for a person, it means they were the only person to have it. Pierre Paul Broca had a special area of his brain that created powerful magnetic fields, enabling him to do 19th century fMRI research.",
"img": "https://imgs.xkcd.com/comics/bursa_of_fabricius.png",
"title": "Bursa of Fabricius",
"day": "1"
}

13
src/models/xkcdComic.py Normal file
View File

@ -0,0 +1,13 @@
class Comic:
def __init__(self, data) -> None:
self.day = data['day']
self.month = data['month']
self.year = data['year']
self.num = data['num']
self.link = data['link']
self.news = data['news']
self.safe_title = data['safe_title']
self.transcript = data['transcript']
self.alt = data['alt']
self.img = data['img']
self.title = data['title']