This commit is contained in:
2023-12-03 12:45:08 +01:00
parent 527164a040
commit be6380d6b8
+35 -2
View File
@@ -5,6 +5,8 @@ import random
import requests import requests
import asyncio import asyncio
import os import os
import feedparser
import json
from datetime import datetime from datetime import datetime
import re import re
@@ -287,8 +289,8 @@ class Chatbot(commands.Cog):
await message.channel.send(response) await message.channel.send(response)
#Gets a response #Gets a response
async def getResponseForMessage(self, wordsToRespondTo): async def getResponseForMessage(self, wordsToRespondTo, gptChance=0.1):
if random.random() > 0.9: if random.random() < 1-gptChance:
try: try:
# GPT request moet echt even in een non-blocking executortje, anders loopt de hele boel vast # 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) 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) await ctx.channel.send(message)
except: except:
pass 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)