From be6380d6b883ea008fc05739a7d16a07e1b9c34b Mon Sep 17 00:00:00 2001 From: Mark Hoekveen Date: Sun, 3 Dec 2023 12:45:08 +0100 Subject: [PATCH] nos --- Chatbot.py | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/Chatbot.py b/Chatbot.py index ccd954f..a71303a 100644 --- a/Chatbot.py +++ b/Chatbot.py @@ -5,6 +5,8 @@ import random import requests import asyncio import os +import feedparser +import json from datetime import datetime import re @@ -287,8 +289,8 @@ class Chatbot(commands.Cog): await message.channel.send(response) #Gets a response - async def getResponseForMessage(self, wordsToRespondTo): - if random.random() > 0.9: + async def getResponseForMessage(self, wordsToRespondTo, gptChance=0.1): + if random.random() < 1-gptChance: try: # GPT request moet echt even in een non-blocking executortje, anders loopt de hele boel vast response = await self.bot.loop.run_in_executor(None,self.getResponseForMessageOnline, wordsToRespondTo) @@ -473,3 +475,34 @@ class Chatbot(commands.Cog): await ctx.channel.send(message) except: pass + + @commands.command(pass_context=True) + async def nos(self, ctx, categorie=None): + """Een leuk NOS artikel. Hoef je het zelf niet meer op te zoeken. + Mag optioneel een categorie aangeven: + algemeen binnenland buitenland politiek economie opmerkelijk koningshuis cultuurenmedia tech """ + try: + await ctx.message.delete() + except: + pass + opties = [ + "algemeen", + "binnenland", + "buitenland", + "politiek", + "economie", + "opmerkelijk", + "koningshuis", + "cultuurenmedia", + "tech" + ] + if not categorie: + categorie = random.choice(opties) + categorie = categorie.lower() + if categorie in opties: + artikelen = feedparser.parse("https://feeds.nos.nl/nosnieuws" + categorie).entries + artikel = random.choice(artikelen) + #print(artikel) + print(json.dumps(artikel, indent=4)) + response = await self.getResponseForMessage(artikel.title, gptChance=0.5) + await ctx.channel.send(response + '\n' + artikel.link)