Compare commits
25 Commits
crypto-update
...
beleefd
| Author | SHA1 | Date | |
|---|---|---|---|
| 896bc3afd7 | |||
| 99513b16d4 | |||
| cc7a5f2f28 | |||
| c919386fcb | |||
| 9d00b319aa | |||
| 3b9ac14719 | |||
| d6bc6327a2 | |||
| 916a45715b | |||
| 3f5fc17833 | |||
| 29da1d218b | |||
| 07d22768fe | |||
| 392e19f4b3 | |||
| 9852f21ef7 | |||
| 41c2dc17d1 | |||
| d1a699ee46 | |||
| acbe8c6110 | |||
| a53598b2c3 | |||
| be6380d6b8 | |||
| 527164a040 | |||
| f76f7a48c9 | |||
| a2319f0fac | |||
| a4ca645e3e | |||
| acb9df8616 | |||
| 1f848861e3 | |||
| ecc3ae8853 |
+28
-28
@@ -2,34 +2,34 @@ kind: pipeline
|
|||||||
name: default
|
name: default
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: test
|
- name: test
|
||||||
image: python:3.11
|
image: python:3.13
|
||||||
environment:
|
environment:
|
||||||
STROOP_DISCORD_TOKEN:
|
STROOP_DISCORD_TOKEN:
|
||||||
from_secret: STROOP_DISCORD_TOKEN
|
from_secret: STROOP_DISCORD_TOKEN
|
||||||
STROOP_TWITTER_KEY:
|
STROOP_TWITTER_KEY:
|
||||||
from_secret: STROOP_TWITTER_KEY
|
from_secret: STROOP_TWITTER_KEY
|
||||||
STROOP_TWITTER_SECRET:
|
STROOP_TWITTER_SECRET:
|
||||||
from_secret: STROOP_TWITTER_SECRET
|
from_secret: STROOP_TWITTER_SECRET
|
||||||
STROOP_REDDIT_ID:
|
STROOP_REDDIT_ID:
|
||||||
from_secret: STROOP_REDDIT_ID
|
from_secret: STROOP_REDDIT_ID
|
||||||
STROOP_REDDIT_SECRET:
|
STROOP_REDDIT_SECRET:
|
||||||
from_secret: STROOP_REDDIT_SECRET
|
from_secret: STROOP_REDDIT_SECRET
|
||||||
STROOP_WEERLIVE:
|
STROOP_WEERLIVE:
|
||||||
from_secret: STROOP_WEERLIVE
|
from_secret: STROOP_WEERLIVE
|
||||||
STROOP_CALDAV_HOST:
|
STROOP_CALDAV_HOST:
|
||||||
from_secret: STROOP_CALDAV_HOST
|
from_secret: STROOP_CALDAV_HOST
|
||||||
STROOP_CALDAV_CAL:
|
STROOP_CALDAV_CAL:
|
||||||
from_secret: STROOP_CALDAV_CAL
|
from_secret: STROOP_CALDAV_CAL
|
||||||
STROOP_IMGFLIP_PASSWORD:
|
STROOP_IMGFLIP_PASSWORD:
|
||||||
from_secret: STROOP_IMGFLIP_PASSWORD
|
from_secret: STROOP_IMGFLIP_PASSWORD
|
||||||
STROOP_RESET_PASSWORD:
|
STROOP_RESET_PASSWORD:
|
||||||
from_secret: STROOP_RESET_PASSWORD
|
from_secret: STROOP_RESET_PASSWORD
|
||||||
STROOP_CHANNEL_SHITPOST:
|
STROOP_CHANNEL_SHITPOST:
|
||||||
from_secret: STROOP_CHANNEL_SHITPOST
|
from_secret: STROOP_CHANNEL_SHITPOST
|
||||||
commands:
|
commands:
|
||||||
- pip install -r requirements.txt
|
- pip install -r requirements.txt
|
||||||
- python -m unittest tests
|
- python -m unittest tests
|
||||||
trigger:
|
trigger:
|
||||||
event:
|
event:
|
||||||
exclude:
|
exclude:
|
||||||
|
|||||||
+57
-3
@@ -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
|
||||||
|
|
||||||
@@ -18,6 +20,8 @@ class Chatbot(commands.Cog):
|
|||||||
self.START_OF_MESSAGE = "<SOM>"
|
self.START_OF_MESSAGE = "<SOM>"
|
||||||
self.pmLast = datetime(2018, 1, 1, 1, 1, 1)
|
self.pmLast = datetime(2018, 1, 1, 1, 1, 1)
|
||||||
self.pmCount = 0
|
self.pmCount = 0
|
||||||
|
self.nosLast = datetime(2018, 1, 1, 1, 1, 1)
|
||||||
|
self.nosPosts = []
|
||||||
try:
|
try:
|
||||||
np.load('markov_dict.npy', allow_pickle=True)
|
np.load('markov_dict.npy', allow_pickle=True)
|
||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
@@ -46,7 +50,6 @@ class Chatbot(commands.Cog):
|
|||||||
"Hoi",
|
"Hoi",
|
||||||
"hmm?",
|
"hmm?",
|
||||||
"JA WAT?",
|
"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")
|
self.getResponseForMessageLocal("stroopwafel")
|
||||||
]
|
]
|
||||||
try:
|
try:
|
||||||
@@ -222,6 +225,11 @@ class Chatbot(commands.Cog):
|
|||||||
pass # Dit is een commando. Negeer.
|
pass # Dit is een commando. Negeer.
|
||||||
elif "```" in messageContent:
|
elif "```" in messageContent:
|
||||||
pass # Daar zit een codeblok in. Negeer.
|
pass # Daar zit een codeblok in. Negeer.
|
||||||
|
elif "http" in messageContent and "nos" in messageContent:
|
||||||
|
# NOS link
|
||||||
|
nosIds = re.findall(r'\d+', messageContent)
|
||||||
|
if nosIds:
|
||||||
|
self.nosPosts.append(nosIds[0])
|
||||||
elif messageContent[0:7] == "http://" or messageContent[0:8] == "https://":
|
elif messageContent[0:7] == "http://" or messageContent[0:8] == "https://":
|
||||||
pass # Een link. Negeer. TODO: post af en toe een random link die geen repost is
|
pass # Een link. Negeer. TODO: post af en toe een random link die geen repost is
|
||||||
else:
|
else:
|
||||||
@@ -288,8 +296,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)
|
||||||
@@ -474,3 +482,49 @@ 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
|
||||||
|
diff = datetime.now() - self.nosLast
|
||||||
|
self.nosLast = datetime.now()
|
||||||
|
if diff.days <= 0 and diff.seconds <= 300:
|
||||||
|
await ctx.channel.send(f"Kappen nou {ctx.author.mention}")
|
||||||
|
return
|
||||||
|
opties = [
|
||||||
|
"algemeen",
|
||||||
|
"binnenland",
|
||||||
|
"buitenland",
|
||||||
|
"politiek",
|
||||||
|
"economie",
|
||||||
|
"opmerkelijk",
|
||||||
|
"koningshuis",
|
||||||
|
"cultuurenmedia",
|
||||||
|
"tech"
|
||||||
|
]
|
||||||
|
artikel = None
|
||||||
|
tries = 0
|
||||||
|
while artikel is None:
|
||||||
|
tries += 1
|
||||||
|
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(json.dumps(artikel, indent=4))
|
||||||
|
nosId = re.findall(r'\d+', artikel.id)[0]
|
||||||
|
if nosId not in self.nosPosts:
|
||||||
|
self.nosPosts.append(nosId)
|
||||||
|
response = await self.getResponseForMessage(artikel.title, gptChance=0.5)
|
||||||
|
elif tries > 100:
|
||||||
|
print("Oneindige loop voorkomen. Damn.")
|
||||||
|
else:
|
||||||
|
artikel = None
|
||||||
|
await ctx.channel.send(response + '\n' + artikel.link)
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
FROM python:3.11
|
FROM python:3.13
|
||||||
|
|
||||||
WORKDIR /opt/stroopwafel
|
WORKDIR /opt/stroopwafel
|
||||||
|
|
||||||
|
|||||||
+29
-15
@@ -5,6 +5,7 @@ import random
|
|||||||
import re
|
import re
|
||||||
import json, requests
|
import json, requests
|
||||||
import warnings
|
import warnings
|
||||||
|
from datetime import timedelta, datetime, timezone
|
||||||
from discord.ext import commands
|
from discord.ext import commands
|
||||||
|
|
||||||
class General(commands.Cog):
|
class General(commands.Cog):
|
||||||
@@ -12,7 +13,7 @@ class General(commands.Cog):
|
|||||||
|
|
||||||
def __init__(self, bot):
|
def __init__(self, bot):
|
||||||
self.bot = bot
|
self.bot = bot
|
||||||
self.muzak_url = 'https://hdcon-muzak.herokuapp.com'
|
self.muzak_url = 'http://muzak.hoekveen.net:8001'
|
||||||
self.r = praw.Reddit(
|
self.r = praw.Reddit(
|
||||||
user_agent='StroopwafelBot',
|
user_agent='StroopwafelBot',
|
||||||
client_secret=os.getenv("STROOP_REDDIT_SECRET"),
|
client_secret=os.getenv("STROOP_REDDIT_SECRET"),
|
||||||
@@ -22,7 +23,7 @@ class General(commands.Cog):
|
|||||||
warnings.simplefilter("ignore")
|
warnings.simplefilter("ignore")
|
||||||
|
|
||||||
def get_emoji_embed(self, tag: str):
|
def get_emoji_embed(self, tag: str):
|
||||||
emoji = re.search(".*\<\:([A-z]*)\:(\d*)\>.*", tag)
|
emoji = re.search(r'.*\<\:([A-z]*)\:(\d*)\>.*', tag)
|
||||||
embed = discord.Embed(title=emoji.group(1), type='photo')
|
embed = discord.Embed(title=emoji.group(1), type='photo')
|
||||||
hugemoji = 'https://cdn.discordapp.com/emojis/' + emoji.group(2) + '.png'
|
hugemoji = 'https://cdn.discordapp.com/emojis/' + emoji.group(2) + '.png'
|
||||||
embed.set_image(url=hugemoji)
|
embed.set_image(url=hugemoji)
|
||||||
@@ -58,19 +59,25 @@ class General(commands.Cog):
|
|||||||
|
|
||||||
def get_kopieerpasta(self):
|
def get_kopieerpasta(self):
|
||||||
rkopieerpasta = self.r.subreddit('kopieerpasta')
|
rkopieerpasta = self.r.subreddit('kopieerpasta')
|
||||||
post = rkopieerpasta.random()
|
try:
|
||||||
|
post = rkopieerpasta.random()
|
||||||
|
|
||||||
# Subreddits kunnen de random functie uitzetten, dus dit is de fallback:
|
# Subreddits kunnen de random functie uitzetten, dus dit is de fallback:
|
||||||
if post == None:
|
if post == None:
|
||||||
listing = list(rkopieerpasta.top('month', limit=250))
|
listing = list(rkopieerpasta.top(time_filter='month', limit=250))
|
||||||
post = random.choice(listing)
|
post = random.choice(listing)
|
||||||
|
|
||||||
return post
|
return post
|
||||||
|
except:
|
||||||
|
return None
|
||||||
|
|
||||||
@commands.command(pass_context=True)
|
@commands.command(pass_context=True)
|
||||||
async def kopieerpasta(self, ctx):
|
async def kopieerpasta(self, ctx):
|
||||||
"""Een willekeurige shitpost"""
|
"""Een willekeurige shitpost"""
|
||||||
post = self.get_kopieerpasta()
|
post = self.get_kopieerpasta()
|
||||||
|
if not post:
|
||||||
|
await ctx.channel.send("Geen kopieerpasta voor jou vandaag.")
|
||||||
|
return
|
||||||
print(post.url)
|
print(post.url)
|
||||||
ATTEMPTS = 10
|
ATTEMPTS = 10
|
||||||
a = 0
|
a = 0
|
||||||
@@ -87,16 +94,24 @@ class General(commands.Cog):
|
|||||||
await ctx.channel.send('**'+post.title+'**```'+post.selftext+'```')
|
await ctx.channel.send('**'+post.title+'**```'+post.selftext+'```')
|
||||||
else:
|
else:
|
||||||
await ctx.channel.send("Geen kopieerpasta voor jou vandaag.")
|
await ctx.channel.send("Geen kopieerpasta voor jou vandaag.")
|
||||||
|
|
||||||
def get_playlist_json(self):
|
def get_playlist_json(self):
|
||||||
return requests.get(self.muzak_url + '/stroopwafel')
|
return requests.get(self.muzak_url + '/stroopwafel')
|
||||||
|
|
||||||
@commands.command(pass_context=True)
|
@commands.command(pass_context=True)
|
||||||
async def playlist(self, ctx):
|
async def muzak(self, ctx):
|
||||||
"""HDcon2021 playlist"""
|
"""HD muzak playlist"""
|
||||||
data = json.loads(self.get_playlist_json().content)
|
data = json.loads(self.get_playlist_json().content)
|
||||||
msg = 'Stemmen en nomineren kan hier: {}\n'.format(self.muzak_url)
|
msg = ""
|
||||||
msg += '*Er zijn al {} nummers genomineerd*\n'.format(data['stemCount'])
|
open = datetime.fromisoformat(data['openDate'])
|
||||||
|
nom = datetime.fromisoformat(data['deadlineNominations'])
|
||||||
|
vote = datetime.fromisoformat(data['deadlineVoting'])
|
||||||
|
today = datetime.now(tz=timezone(timedelta(hours=2)))
|
||||||
|
if open > today:
|
||||||
|
msg = "Muwat?"
|
||||||
|
else:
|
||||||
|
msg += f"Stemmen en nomineren kan hier: https://muzak.hoekveen.net/ \n"
|
||||||
|
msg += f"*Er zijn al {data['stemCount']} nummers genomineerd!*\n"
|
||||||
await ctx.channel.send(msg)
|
await ctx.channel.send(msg)
|
||||||
|
|
||||||
@commands.command(pass_context=True)
|
@commands.command(pass_context=True)
|
||||||
@@ -106,7 +121,7 @@ class General(commands.Cog):
|
|||||||
response = requests.get(poll)
|
response = requests.get(poll)
|
||||||
if response:
|
if response:
|
||||||
# one-liner want eet stront
|
# 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(";"))
|
cijfer = float(re.findall(r";\d\.?\d?\n", json.loads([x for x in response.text.splitlines() if "var options =" in x][0].partition("=")[2].strip(";, "))["data"]["csv"])[-1].strip(";\n"))
|
||||||
msg = ""
|
msg = ""
|
||||||
if cijfer < 3:
|
if cijfer < 3:
|
||||||
msg = f"Nou, het lijkt goed te gaan. Recentelijk gaven mensen hun klachten maar een {cijfer}. Lekker!"
|
msg = f"Nou, het lijkt goed te gaan. Recentelijk gaven mensen hun klachten maar een {cijfer}. Lekker!"
|
||||||
@@ -119,4 +134,3 @@ class General(commands.Cog):
|
|||||||
await ctx.channel.send(ctx.author.mention + ' ' + msg)
|
await ctx.channel.send(ctx.author.mention + ' ' + msg)
|
||||||
else:
|
else:
|
||||||
await ctx.channel.send(ctx.author.mention + ' Er lijkt even geen klachtencijfer beschikbaar te zijn. Probeer het later nog eens')
|
await ctx.channel.send(ctx.author.mention + ' Er lijkt even geen klachtencijfer beschikbaar te zijn. Probeer het later nog eens')
|
||||||
|
|
||||||
|
|||||||
+30
-23
@@ -16,6 +16,7 @@ class Shitpost(commands.Cog):
|
|||||||
def __init__(self, bot):
|
def __init__(self, bot):
|
||||||
self.bot = bot
|
self.bot = bot
|
||||||
self.hdConImpatientEvents = []
|
self.hdConImpatientEvents = []
|
||||||
|
self.userAgent = 'Mozilla/5.0 (X11; Linux x86_64; rv:136.0) Gecko/20100101 Firefox/136.0'
|
||||||
try:
|
try:
|
||||||
with open('black.txt') as zwart:
|
with open('black.txt') as zwart:
|
||||||
self.zwarte_lijst = [line.rstrip('\n') for line in zwart]
|
self.zwarte_lijst = [line.rstrip('\n') for line in zwart]
|
||||||
@@ -40,33 +41,36 @@ class Shitpost(commands.Cog):
|
|||||||
'zout': '116231806'
|
'zout': '116231806'
|
||||||
}
|
}
|
||||||
warnings.simplefilter("ignore")
|
warnings.simplefilter("ignore")
|
||||||
|
datestring = os.getenv('STROOP_HDCON_DATE') or None
|
||||||
|
self.HdConDate = None
|
||||||
|
if datestring:
|
||||||
|
self.HdConDate = datetime.fromisoformat(datestring)
|
||||||
|
|
||||||
@commands.command(pass_context=True, hidden=False)
|
@commands.command(pass_context=True, hidden=False)
|
||||||
async def ishetalhdcon(self, ctx):
|
async def ishetalhdcon(self, ctx):
|
||||||
"""Hoe lang nog tot Hoestende Draken Con 2022?
|
"""Hoe lang nog tot Hoestende Draken Con dit jaar? Of is het pas volgend jaar?
|
||||||
Gebruik: !ishetalhdcon
|
Gebruik: !ishetalhdcon
|
||||||
"""
|
"""
|
||||||
|
|
||||||
Now = datetime.now()
|
Now = datetime.now()
|
||||||
HdConDate = datetime(2022, 10, 14, 4, 0, 1) #om 4 uur lig je toch wel al op bed?
|
Message = f"Geen HD Con! >:|"
|
||||||
Distance = HdConDate - Now
|
if self.HdConDate:
|
||||||
Message = Message = "HD Con 2022 is al voorbij. HD Con 2023 zal in 2023 plaatsvinden."
|
Message = f"HD Con {self.HdConDate.year} "
|
||||||
if Distance.days == -1:
|
Distance = self.HdConDate - Now
|
||||||
Message = "HD Con 2022 begint vandaag! HYPE!"
|
if Distance.days == -1:
|
||||||
elif Distance.days < 0 and Distance.days > -4:
|
Message += "begint vandaag! HYPE!"
|
||||||
Message = "HD Con 2022 is nu bezig!!"
|
elif Distance.days < 0 and Distance.days > -4:
|
||||||
elif Distance.days == -4:
|
Message += "is nu bezig!!"
|
||||||
Message = "HD Con 2022 is vandaag alweer afgelopen... F"
|
elif Distance.days == -4:
|
||||||
|
Message += "is vandaag afgelopen :(\nWe hebben gelachen, we hebben gehuild. Het was gezellig. Volgend jaar bij mij."
|
||||||
|
else: # distance < -4
|
||||||
|
Message += f"is geweest. HD Con {self.HdConDate.year+1} zal komen."
|
||||||
|
|
||||||
if Distance.days < 0:
|
if Distance.days < 0:
|
||||||
await ctx.channel.send(ctx.author.mention + ' ' + str(Message))
|
await ctx.channel.send(ctx.author.mention + ' ' + str(Message))
|
||||||
return
|
return
|
||||||
|
|
||||||
NachtjesSlapen = Distance.days + 1
|
NachtjesSlapen = Distance.days + 1
|
||||||
if NachtjesSlapen == 1:
|
Message = f"Nog {NachtjesSlapen} nachtje{'s' if NachtjesSlapen > 1 else ''} slapen..."
|
||||||
Message = "Nog " + str(NachtjesSlapen) + " nachtje slapen..."
|
|
||||||
else:
|
|
||||||
Message = "Nog " + str(NachtjesSlapen) + " nachtjes slapen..."
|
|
||||||
|
|
||||||
#Hou bij hoe vaak dit wordt gevraagd:
|
#Hou bij hoe vaak dit wordt gevraagd:
|
||||||
eventsMinutesAgo = 0;
|
eventsMinutesAgo = 0;
|
||||||
@@ -94,14 +98,14 @@ class Shitpost(commands.Cog):
|
|||||||
return
|
return
|
||||||
#Hoe vaker er wordt gevraagd, hoe ongeduldiger de antwoorden:
|
#Hoe vaker er wordt gevraagd, hoe ongeduldiger de antwoorden:
|
||||||
if not "DMChannel" in type(ctx.channel).__name__: #ignore personal chats
|
if not "DMChannel" in type(ctx.channel).__name__: #ignore personal chats
|
||||||
impatientFactor = 10 + eventsMinutesAgo*25 + eventsLastDays*10;
|
impatientFactor = 10 + eventsMinutesAgo*25 + min(10, eventsLastDays)*2;
|
||||||
impatientFactor *= random.random()
|
impatientFactor *= random.random()
|
||||||
if impatientFactor > 100:
|
if impatientFactor > 100:
|
||||||
await ctx.channel.send("Nee!")
|
await ctx.channel.send("Nee!")
|
||||||
return
|
return
|
||||||
elif impatientFactor > 15 and eventsMinutesAgo > 0:
|
elif impatientFactor > 15 and eventsMinutesAgo > 0:
|
||||||
Message = "Dat hebben jullie net gevraagd."
|
Message = "Dat hebben jullie net gevraagd."
|
||||||
elif impatientFactor > 9:
|
elif impatientFactor > 12:
|
||||||
Message = "Nee."
|
Message = "Nee."
|
||||||
|
|
||||||
await ctx.channel.send(ctx.author.mention + ' ' + str(Message))
|
await ctx.channel.send(ctx.author.mention + ' ' + str(Message))
|
||||||
@@ -808,7 +812,10 @@ class Shitpost(commands.Cog):
|
|||||||
|
|
||||||
def get_zaagmans(self):
|
def get_zaagmans(self):
|
||||||
zaagman_url = "http://iszaagmansallangsgeweest.nl/"
|
zaagman_url = "http://iszaagmansallangsgeweest.nl/"
|
||||||
zreq = requests.get(zaagman_url)
|
headers = {
|
||||||
|
'User-Agent': self.userAgent,
|
||||||
|
}
|
||||||
|
zreq = requests.get(zaagman_url, headers=headers)
|
||||||
if zreq:
|
if zreq:
|
||||||
return zreq.text.partition("<h1>")[2].partition("</h1>")[0]
|
return zreq.text.partition("<h1>")[2].partition("</h1>")[0]
|
||||||
else:
|
else:
|
||||||
@@ -823,4 +830,4 @@ class Shitpost(commands.Cog):
|
|||||||
message += gezaagd
|
message += gezaagd
|
||||||
else:
|
else:
|
||||||
message += "De waarheid over zaagmans is niet te doorgronden."
|
message += "De waarheid over zaagmans is niet te doorgronden."
|
||||||
await ctx.channel.send(message)
|
await ctx.channel.send(message)
|
||||||
|
|||||||
@@ -14,3 +14,4 @@ STROOP_IMGFLIP_PASSWORD=
|
|||||||
STROOP_RESET_PASSWORD=
|
STROOP_RESET_PASSWORD=
|
||||||
STROOP_CHANNEL_SHITPOST=
|
STROOP_CHANNEL_SHITPOST=
|
||||||
STROOP_CHANNEL_BELANGRIJK=
|
STROOP_CHANNEL_BELANGRIJK=
|
||||||
|
STROOP_HDCON_DATE=2025-12-01
|
||||||
@@ -3,3 +3,6 @@ discord.py
|
|||||||
praw
|
praw
|
||||||
numpy
|
numpy
|
||||||
python-dotenv
|
python-dotenv
|
||||||
|
feedparser
|
||||||
|
audioop-lts
|
||||||
|
vobject
|
||||||
|
|||||||
+2
-2
@@ -41,9 +41,9 @@ class TestGeneral(unittest.TestCase):
|
|||||||
if not isinstance(self.cog.r, praw.Reddit):
|
if not isinstance(self.cog.r, praw.Reddit):
|
||||||
self.skipTest("PRAW Reddit instance failed to create")
|
self.skipTest("PRAW Reddit instance failed to create")
|
||||||
post = self.cog.get_kopieerpasta()
|
post = self.cog.get_kopieerpasta()
|
||||||
self.assertIsInstance(post.url, str)
|
if post:
|
||||||
|
self.assertIsInstance(post.url, str)
|
||||||
|
|
||||||
def test_huge(self):
|
def test_huge(self):
|
||||||
embed = self.cog.get_emoji_embed("<:test:123456789>")
|
embed = self.cog.get_emoji_embed("<:test:123456789>")
|
||||||
self.assertIsInstance(embed, discord.Embed)
|
self.assertIsInstance(embed, discord.Embed)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user