nos
This commit is contained in:
+35
-2
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user