9 Commits

Author SHA1 Message Date
mark a2319f0fac oeps 2023-08-16 14:54:35 +02:00
mark a4ca645e3e nieuw muzak eindpunt 2023-08-16 14:53:10 +02:00
mark acb9df8616 hdcon2023 bitchesss 2023-08-02 14:25:40 +02:00
mark 1f848861e3 stroop scheldt je niet meer uit als je hem pingt.
want het was eigenlijk al een aardige tijd niet echt heel grappig meer.
2023-07-26 20:02:10 +02:00
jp ecc3ae8853 Merge pull request 'updates crypto module with newer async code' (#25) from crypto-update into master
continuous-integration/drone/push Build is passing
Reviewed-on: #25
2023-06-25 21:24:51 +02:00
mark e904451037 updates crypto module with newer async code
continuous-integration/drone/push Build is passing
2023-06-23 21:56:52 +02:00
mark cde205aad7 pollen klachtencijfer
continuous-integration/drone Build is passing
continuous-integration/drone/push Build is passing
2023-06-13 21:05:22 +02:00
mark 2e91781fad robustness of gpt calls
continuous-integration/drone/push Build is passing
2023-03-19 13:57:51 +01:00
jp 58ce3a8565 Merge pull request '10% kans op nieuwe GPT' (#24) from gpt into master
continuous-integration/drone/push Build is passing
Reviewed-on: #24
2023-03-18 23:42:06 +01:00
4 changed files with 68 additions and 25 deletions
+8 -4
View File
@@ -46,7 +46,6 @@ class Chatbot(commands.Cog):
"Hoi",
"hmm?",
"JA WAT?",
"Godve...Godver-fucking-domme! Wie de fuck heeft me zojuist gepingt? Wie de fuck heeft de ballen om mij te pingen?! Als ik jou vind hè, ik ram je helemaal de tyfus in. Ik ga je kapot maken. Welke breincel in jouw hoofd dacht dat het grappig was om mij te pingen? Noem jij dat 'grappig'? Ik zal je godverdomme iets laten zien wat grappig is, ja. Ik neuk je moeder zo hard dat ze van me gaat houden, godverdomme. Dat krijg je er van als je me pingt, vuile teringleijer. Jouw soort mag wat mij betreft uitsterven. Weet je, ik ga je helemaal geen aandacht meer geven. Je mag de tering krijgen, en daar blijft het bij. Kutjong.",
self.getResponseForMessageLocal("stroopwafel")
]
try:
@@ -292,7 +291,9 @@ class Chatbot(commands.Cog):
if random.random() > 0.9:
try:
# GPT request moet echt even in een non-blocking executortje, anders loopt de hele boel vast
return await self.bot.loop.run_in_executor(None,self.getResponseForMessageOnline, wordsToRespondTo)
response = await self.bot.loop.run_in_executor(None,self.getResponseForMessageOnline, wordsToRespondTo)
if response:
return response # Anders door naar local
except:
pass # Door naar local call
return self.getResponseForMessageLocal(wordsToRespondTo)
@@ -303,8 +304,11 @@ class Chatbot(commands.Cog):
return req.json()["translations"][0]["text"]
def getResponseForMessageOnline(self, wordsToRespondTo):
text = self.translateTo("en", " ".join(wordsToRespondTo))
req = requests.post('http://gpt.hoekveen.net/complete', json={"prompt": text, "max_tokens": 60})
prompt = " ".join(wordsToRespondTo)
if not prompt:
prompt = self.getResponseForMessageLocal([])
text = self.translateTo("en", prompt)
req = requests.post('http://gpt.hoekveen.net/complete', json={"prompt": text, "max_tokens": 80})
print(req.json())
respons = req.json()["text"]
respons = respons[0:respons.rfind(".")+1] # Alles weg na de laatste punt
+8 -10
View File
@@ -197,8 +197,7 @@ class Cryptocoin(commands.Cog):
#user functions below
@commands.command(pass_context=True)
@asyncio.coroutine
def coinprice(self, ctx, coinId: str, currencyId: str="USD"):
async def coinprice(self, ctx, coinId: str, currencyId: str="USD"):
"""Geeft de huidige prijs van de desbetreffende crypto currency
Bijv:
!coinprice BTC
@@ -211,20 +210,19 @@ class Cryptocoin(commands.Cog):
currencyId = currencyId.upper()
if (currencyId not in allowedCurrencies):
yield from ctx.channel.send("Valuta " + currencyId + " ken ik niet. :disappointed: ")
await ctx.channel.send("Valuta " + currencyId + " ken ik niet. :disappointed: ")
return
price = self.getCoinPrice(coinId, currencyId)
if (price == -1):
yield from ctx.channel.send("Die cryptocoin ken ik niet... :frowning2: ")
await ctx.channel.send("Die cryptocoin ken ik niet... :frowning2: ")
return
yield from ctx.channel.send(coinId + " is nu " + str(price) + " " + currencyId + " waard.")
await ctx.channel.send(coinId + " is nu " + str(price) + " " + currencyId + " waard.")
@commands.command(pass_context=True)
@asyncio.coroutine
def coinadvice(self, ctx, coinId: str=""):
async def coinadvice(self, ctx, coinId: str=""):
"""Voor al uw adviezen in monopolygeld
Vraag Stroop's mening over een specifieke coin:
!coinadvice NLG
@@ -237,7 +235,7 @@ class Cryptocoin(commands.Cog):
#Geen specieke coin? Doe random.
if(coinId == ""):
yield from ctx.channel.send( self.getRandomCoinAdvice() )
await ctx.channel.send( self.getRandomCoinAdvice() )
return
coinId = coinId.upper()
@@ -245,7 +243,7 @@ class Cryptocoin(commands.Cog):
growPercentage, coinStability, dummy = self.analyseCoin(coinId)
if (growPercentage == 0 and coinStability == 1.0): #aanname. anders moet je weer een extra call doen.
yield from ctx.channel.send("Die cryptocoin ken ik niet... :frowning2: ")
await ctx.channel.send("Die cryptocoin ken ik niet... :frowning2: ")
return
time.sleep(0.1) #don't overload the API
@@ -302,5 +300,5 @@ class Cryptocoin(commands.Cog):
if (coinStability < 0.3):
message += "Denk ik?"
yield from ctx.channel.send(message)
await ctx.channel.send(message)
+46 -5
View File
@@ -5,6 +5,7 @@ import random
import re
import json, requests
import warnings
from datetime import date, timedelta
from discord.ext import commands
class General(commands.Cog):
@@ -12,7 +13,7 @@ class General(commands.Cog):
def __init__(self, bot):
self.bot = bot
self.muzak_url = 'https://hdcon-muzak.herokuapp.com'
self.muzak_url = 'https://muzak.hoekveen.net'
self.r = praw.Reddit(
user_agent='StroopwafelBot',
client_secret=os.getenv("STROOP_REDDIT_SECRET"),
@@ -92,9 +93,49 @@ class General(commands.Cog):
return requests.get(self.muzak_url + '/stroopwafel')
@commands.command(pass_context=True)
async def playlist(self, ctx):
"""HDcon2021 playlist"""
async def muzak(self, ctx):
"""HD muzak playlist"""
data = json.loads(self.get_playlist_json().content)
msg = 'Stemmen en nomineren kan hier: {}\n'.format(self.muzak_url)
msg += '*Er zijn al {} nummers genomineerd*\n'.format(data['stemCount'])
msg = ""
open = date.fromisoformat(data['openDate'])
nom = date.fromisoformat(data['deadlineNominations'])
vote = date.fromisoformat(data['deadlineVoting'])
today = date.today()
if open > today:
msg += "Het stemmen is nog niet geopend voor dit jaar.\n"
msg += f"Nog even geduld; Vanaf {open} is de muzak open en kun je naar hartelust stemmen en nomineren.\n"
elif today > nom and today > vote and (today - vote) < timedelta(days=8):
msg += "Het nomineren en stemmen is alweer voorbij.\n"
msg += "Je zult nog even geduld moeten hebben tot de lijst klaar is.\n"
elif today > nom and today > vote:
msg += "De lijst is al helemaal klaar. Goed gedaan jongens. Applausje voor jezelf."
else:
if open == today:
msg += "Jawel mensen! Vanaf vandaag mag het stemmen beginnen!\n"
msg += f"Stemmen en nomineren kan hier: {self.muzak_url}\n"
msg += f"*Er zijn al {data['stemCount']} nummers genomineerd!*\n"
msg += f"Nomineren kan tot {nom}, stemmen kan tot {vote}.\n"
msg += "\nIk hoop dat jullie allemaal je beste nummers insturen!"
await ctx.channel.send(msg)
@commands.command(pass_context=True)
async def pollen(self, ctx):
"Hoe veel last van pollen kun je verwachten?"
poll = 'https://app.everviz.com/embed/apyvera/' # Thanks hooikoortsradar
response = requests.get(poll)
if response:
# one-liner want eet stront
cijfer = float(re.findall(r";\d\.?\d?;", json.loads([x for x in response.text.splitlines() if "var options =" in x][0].partition("=")[2].strip(";, "))["data"]["csv"])[-1].strip(";"))
msg = ""
if cijfer < 3:
msg = f"Nou, het lijkt goed te gaan. Recentelijk gaven mensen hun klachten maar een {cijfer}. Lekker!"
elif cijfer < 6:
msg = f"Het lijkt allemaal mee te vallen. Men gaf hun klachten een {cijfer} deze week. Moet te doen zijn."
elif cijfer < 7.5:
msg = f"Ai. Het gaat lekker met de pollen, maar het ergste moet nog komen of is al geweest. Klachtencijfer van {cijfer}; Sterkte alvast."
else:
msg = f"Balen dit. Klachtencijfer van {cijfer}, dus bekijk het maar. Joe."
await ctx.channel.send(ctx.author.mention + ' ' + msg)
else:
await ctx.channel.send(ctx.author.mention + ' Er lijkt even geen klachtencijfer beschikbaar te zijn. Probeer het later nog eens')
+6 -6
View File
@@ -43,20 +43,20 @@ class Shitpost(commands.Cog):
@commands.command(pass_context=True, hidden=False)
async def ishetalhdcon(self, ctx):
"""Hoe lang nog tot Hoestende Draken Con 2022?
"""Hoe lang nog tot Hoestende Draken Con 2023?
Gebruik: !ishetalhdcon
"""
Now = datetime.now()
HdConDate = datetime(2022, 10, 14, 4, 0, 1) #om 4 uur lig je toch wel al op bed?
HdConDate = datetime(2023, 10, 20, 4, 0, 1) #om 4 uur lig je toch wel al op bed?
Distance = HdConDate - Now
Message = Message = "HD Con 2022 is al voorbij. HD Con 2023 zal in 2023 plaatsvinden."
Message = Message = "HD Con 2023 is al voorbij. HD Con 2024 zal in 2024 plaatsvinden."
if Distance.days == -1:
Message = "HD Con 2022 begint vandaag! HYPE!"
Message = "HD Con 2023 begint vandaag! HYPE!"
elif Distance.days < 0 and Distance.days > -4:
Message = "HD Con 2022 is nu bezig!!"
Message = "HD Con 2023 is nu bezig!!"
elif Distance.days == -4:
Message = "HD Con 2022 is vandaag alweer afgelopen... F"
Message = "HD Con 2023 is vandaag alweer afgelopen... F"
if Distance.days < 0:
await ctx.channel.send(ctx.author.mention + ' ' + str(Message))