cleanup
This commit is contained in:
+3
-1
@@ -4,6 +4,8 @@ tijd/
|
|||||||
.vs/
|
.vs/
|
||||||
test.png
|
test.png
|
||||||
password.txt
|
password.txt
|
||||||
stroopwafel.token
|
|
||||||
UpgradeLog\.htm
|
UpgradeLog\.htm
|
||||||
markov_dict.npy
|
markov_dict.npy
|
||||||
|
stroopwafel.ini
|
||||||
|
Stroopwafel.sln
|
||||||
|
Stroopwafel.pyproj
|
||||||
|
|||||||
@@ -1,59 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
|
|
||||||
<PropertyGroup>
|
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
||||||
<SchemaVersion>2.0</SchemaVersion>
|
|
||||||
<ProjectGuid>6f25512f-caba-45b1-9b6a-d2d28b32494a</ProjectGuid>
|
|
||||||
<ProjectHome>.</ProjectHome>
|
|
||||||
<StartupFile>Stroopwafel.py</StartupFile>
|
|
||||||
<SearchPath>
|
|
||||||
</SearchPath>
|
|
||||||
<WorkingDirectory>.</WorkingDirectory>
|
|
||||||
<OutputPath>.</OutputPath>
|
|
||||||
<Name>Stroopwafel</Name>
|
|
||||||
<RootNamespace>Stroopwafel</RootNamespace>
|
|
||||||
<IsWindowsApplication>False</IsWindowsApplication>
|
|
||||||
<InterpreterId>{257fd04c-048c-4bcb-bc47-024b035ececc}</InterpreterId>
|
|
||||||
<InterpreterVersion>3.5</InterpreterVersion>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
|
||||||
<DebugSymbols>true</DebugSymbols>
|
|
||||||
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
|
|
||||||
<DebugSymbols>true</DebugSymbols>
|
|
||||||
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Compile Include="General.py">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Porno.py">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Shitpost.py">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Stroopwafel.py" />
|
|
||||||
<Compile Include="Music.py">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<InterpreterReference Include="{257fd04c-048c-4bcb-bc47-024b035ececc}\3.5" />
|
|
||||||
</ItemGroup>
|
|
||||||
<PropertyGroup>
|
|
||||||
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
|
||||||
<PtvsTargetsFile>$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Python Tools\Microsoft.PythonTools.targets</PtvsTargetsFile>
|
|
||||||
</PropertyGroup>
|
|
||||||
<Import Condition="Exists($(PtvsTargetsFile))" Project="$(PtvsTargetsFile)" />
|
|
||||||
<Import Condition="!Exists($(PtvsTargetsFile))" Project="$(MSBuildToolsPath)\Microsoft.Common.targets" />
|
|
||||||
<!-- Uncomment the CoreCompile target to enable the Build command in
|
|
||||||
Visual Studio and specify your pre- and post-build commands in
|
|
||||||
the BeforeBuild and AfterBuild targets below. -->
|
|
||||||
<!--<Target Name="CoreCompile" />-->
|
|
||||||
<Target Name="BeforeBuild">
|
|
||||||
</Target>
|
|
||||||
<Target Name="AfterBuild">
|
|
||||||
</Target>
|
|
||||||
</Project>
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
|
||||||
# Visual Studio 14
|
|
||||||
VisualStudioVersion = 14.0.25420.1
|
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
|
||||||
Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "Stroopwafel", "Stroopwafel.pyproj", "{6F25512F-CABA-45B1-9B6A-D2D28B32494A}"
|
|
||||||
EndProject
|
|
||||||
Global
|
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
|
||||||
Debug|Any CPU = Debug|Any CPU
|
|
||||||
Release|Any CPU = Release|Any CPU
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
|
||||||
{6F25512F-CABA-45B1-9B6A-D2D28B32494A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
|
||||||
{6F25512F-CABA-45B1-9B6A-D2D28B32494A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
|
||||||
EndGlobalSection
|
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
|
||||||
HideSolutionNode = FALSE
|
|
||||||
EndGlobalSection
|
|
||||||
EndGlobal
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
import asyncio␍
|
|
||||||
import discord␍
|
|
||||||
from discord.ext import commands␍
|
|
||||||
from sympy import latex, symbols, preview, Symbol #for LaTeX images␍
|
|
||||||
␍
|
|
||||||
class General(object):␍
|
|
||||||
"""Overal toegestaan."""␍
|
|
||||||
␍
|
|
||||||
def __init__(self, bot):␍
|
|
||||||
self.bot = bot␍
|
|
||||||
self.voice_states = {}␍
|
|
||||||
def __check(self, ctx): #Todo: Is dit het porno kanaal?␍
|
|
||||||
return True␍
|
|
||||||
@commands.command(pass_context=True)␍
|
|
||||||
@asyncio.coroutine ␍
|
|
||||||
def tex(self, ctx, mathstring):␍
|
|
||||||
"""Geeft een mooi LaTeX plaatje terug.␍
|
|
||||||
Encapsuleer uw string in mooie \"␍
|
|
||||||
Bijvoorbeeld: ␍
|
|
||||||
!tex "a^b b^c \rightarrow d"␍
|
|
||||||
"""␍
|
|
||||||
preamble = "\\documentclass[10pt]{article}\\pagestyle{empty}\\usepackage[margin=1in]{geometry}\\usepackage[T1]{fontenc}\\usepackage{CJKutf8}\\usepackage[english]{babel}\\usepackage{amsmath, amsfonts}\\begin{document}"␍
|
|
||||||
options = ["-T", "tight", "-z", "9", "--truecolor", "-D", "512"]␍
|
|
||||||
preview(r'$$'+mathstring+'$$', viewer='file', filename='test.png', dvioptions=options, preamble=preamble)␍
|
|
||||||
file = open('test.png', 'rb')␍
|
|
||||||
yield from self.bot.upload(file, filename ='test.png', content='Nerd!')␍
|
|
||||||
␍
|
|
||||||
-240
@@ -1,240 +0,0 @@
|
|||||||
import asyncio␍
|
|
||||||
import discord␍
|
|
||||||
from discord.ext import commands␍
|
|
||||||
␍
|
|
||||||
class VoiceEntry:␍
|
|
||||||
def __init__(self, message, player):␍
|
|
||||||
self.requester = message.author␍
|
|
||||||
self.channel = message.channel␍
|
|
||||||
self.player = player␍
|
|
||||||
␍
|
|
||||||
def __str__(self):␍
|
|
||||||
fmt = '*{0.title}* verzocht door {1.display_name}'␍
|
|
||||||
duration = self.player.duration␍
|
|
||||||
if duration:␍
|
|
||||||
fmt = fmt + ' [{0[0]}m {0[1]}s]'.format(divmod(duration, 60))␍
|
|
||||||
return fmt.format(self.player, self.requester)␍
|
|
||||||
␍
|
|
||||||
class VoiceState:␍
|
|
||||||
def __init__(self, bot):␍
|
|
||||||
self.current = None␍
|
|
||||||
self.voice = None␍
|
|
||||||
self.bot = bot␍
|
|
||||||
self.play_next_song = asyncio.Event()␍
|
|
||||||
self.songs = asyncio.Queue()␍
|
|
||||||
self.skip_votes = set() # a set of user_ids that voted␍
|
|
||||||
self.audio_player = self.bot.loop.create_task(self.audio_player_task())␍
|
|
||||||
␍
|
|
||||||
def is_playing(self):␍
|
|
||||||
if self.voice is None or self.current is None:␍
|
|
||||||
return False␍
|
|
||||||
␍
|
|
||||||
player = self.current.player␍
|
|
||||||
return not player.is_done()␍
|
|
||||||
␍
|
|
||||||
@property␍
|
|
||||||
def player(self):␍
|
|
||||||
return self.current.player␍
|
|
||||||
␍
|
|
||||||
def skip(self):␍
|
|
||||||
self.skip_votes.clear()␍
|
|
||||||
if self.is_playing():␍
|
|
||||||
self.player.stop()␍
|
|
||||||
␍
|
|
||||||
def toggle_next(self):␍
|
|
||||||
self.bot.loop.call_soon_threadsafe(self.play_next_song.set)␍
|
|
||||||
␍
|
|
||||||
@asyncio.coroutine␍
|
|
||||||
def audio_player_task(self):␍
|
|
||||||
while True:␍
|
|
||||||
self.play_next_song.clear()␍
|
|
||||||
self.current = yield from self.songs.get()␍
|
|
||||||
yield from self.bot.send_message(self.current.channel, 'U luistert naar: ' + str(self.current))␍
|
|
||||||
self.current.player.start()␍
|
|
||||||
yield from self.play_next_song.wait()␍
|
|
||||||
␍
|
|
||||||
␍
|
|
||||||
␍
|
|
||||||
if not discord.opus.is_loaded():␍
|
|
||||||
# the 'opus' library here is opus.dll on windows␍
|
|
||||||
# or libopus.so on linux in the current directory␍
|
|
||||||
# you should replace this with the location the␍
|
|
||||||
# opus library is located in and with the proper filename.␍
|
|
||||||
# note that on windows this DLL is automatically provided for you␍
|
|
||||||
discord.opus.load_opus('opus')␍
|
|
||||||
␍
|
|
||||||
class Music:␍
|
|
||||||
"""Play that funky music white boy.␍
|
|
||||||
"""␍
|
|
||||||
def __init__(self, bot):␍
|
|
||||||
self.bot = bot␍
|
|
||||||
self.voice_states = {}␍
|
|
||||||
␍
|
|
||||||
def __check(self, ctx):␍
|
|
||||||
return True␍
|
|
||||||
␍
|
|
||||||
def get_voice_state(self, server):␍
|
|
||||||
state = self.voice_states.get(server.id)␍
|
|
||||||
if state is None:␍
|
|
||||||
state = VoiceState(self.bot)␍
|
|
||||||
self.voice_states[server.id] = state␍
|
|
||||||
␍
|
|
||||||
return state␍
|
|
||||||
@asyncio.coroutine␍
|
|
||||||
def create_voice_client(self, channel):␍
|
|
||||||
voice = yield from self.bot.join_voice_channel(channel)␍
|
|
||||||
state = self.get_voice_state(channel.server)␍
|
|
||||||
state.voice = voice␍
|
|
||||||
␍
|
|
||||||
def __unload(self):␍
|
|
||||||
for state in self.voice_states.values():␍
|
|
||||||
try:␍
|
|
||||||
state.audio_player.cancel()␍
|
|
||||||
if state.voice:␍
|
|
||||||
self.bot.loop.create_task(state.voice.disconnect())␍
|
|
||||||
except:␍
|
|
||||||
pass␍
|
|
||||||
␍
|
|
||||||
@commands.command(pass_context=True, no_pm=True)␍
|
|
||||||
@asyncio.coroutine␍
|
|
||||||
def join(self, ctx, *, channel : discord.Channel):␍
|
|
||||||
"""Verplaats stroopie naar een bepaald kanaal."""␍
|
|
||||||
try:␍
|
|
||||||
yield from self.create_voice_client(channel)␍
|
|
||||||
except discord.ClientException:␍
|
|
||||||
yield from self.bot.say('Already in a voice channel...')␍
|
|
||||||
except discord.InvalidArgument:␍
|
|
||||||
yield from self.bot.say('This is not a voice channel...')␍
|
|
||||||
else:␍
|
|
||||||
yield from self.bot.say('Ready to play audio in ' + channel.name)␍
|
|
||||||
␍
|
|
||||||
@commands.command(pass_context=True, no_pm=True)␍
|
|
||||||
@asyncio.coroutine␍
|
|
||||||
def summon(self, ctx):␍
|
|
||||||
"""Roep stroopie naar jouw kanaal toe.."""␍
|
|
||||||
summoned_channel = ctx.message.author.voice_channel␍
|
|
||||||
if summoned_channel is None:␍
|
|
||||||
yield from self.bot.say('You are not in a voice channel.')␍
|
|
||||||
return False␍
|
|
||||||
␍
|
|
||||||
state = self.get_voice_state(ctx.message.server)␍
|
|
||||||
if state.voice is None:␍
|
|
||||||
state.voice = yield from self.bot.join_voice_channel(summoned_channel)␍
|
|
||||||
else:␍
|
|
||||||
yield from state.voice.move_to(summoned_channel)␍
|
|
||||||
␍
|
|
||||||
return True␍
|
|
||||||
␍
|
|
||||||
@commands.command(pass_context=True, no_pm=True)␍
|
|
||||||
@asyncio.coroutine␍
|
|
||||||
def play(self, ctx, *, song : str):␍
|
|
||||||
"""Zet een liedje in de queue␍
|
|
||||||
"""␍
|
|
||||||
state = self.get_voice_state(ctx.message.server)␍
|
|
||||||
opts = {␍
|
|
||||||
'default_search': 'auto',␍
|
|
||||||
'quiet': True,␍
|
|
||||||
'no-check-certificate': True,␍
|
|
||||||
}␍
|
|
||||||
␍
|
|
||||||
if state.voice is None:␍
|
|
||||||
success = yield from ctx.invoke(self.summon)␍
|
|
||||||
if not success:␍
|
|
||||||
return␍
|
|
||||||
␍
|
|
||||||
try:␍
|
|
||||||
player = yield from state.voice.create_ytdl_player(song, ytdl_options=opts, after=state.toggle_next, use_avconv=True)␍
|
|
||||||
except Exception as e:␍
|
|
||||||
fmt = 'Error: ```py\n{}: {}\n```'␍
|
|
||||||
yield from self.bot.send_message(ctx.message.channel, fmt.format(type(e).__name__, e))␍
|
|
||||||
else:␍
|
|
||||||
player.volume = 0.6␍
|
|
||||||
entry = VoiceEntry(ctx.message, player)␍
|
|
||||||
yield from self.bot.say('In de queue: ' + str(entry))␍
|
|
||||||
yield from state.songs.put(entry)␍
|
|
||||||
␍
|
|
||||||
@commands.command(pass_context=True, no_pm=True)␍
|
|
||||||
@asyncio.coroutine␍
|
|
||||||
def volume(self, ctx, value : int):␍
|
|
||||||
"""zet het volume. 1-100"""␍
|
|
||||||
␍
|
|
||||||
state = self.get_voice_state(ctx.message.server)␍
|
|
||||||
if state.is_playing():␍
|
|
||||||
player = state.player␍
|
|
||||||
player.volume = value / 100␍
|
|
||||||
yield from self.bot.say('Zet het volume op {:.0%}'.format(player.volume))␍
|
|
||||||
␍
|
|
||||||
@commands.command(pass_context=True, no_pm=True)␍
|
|
||||||
@asyncio.coroutine␍
|
|
||||||
def pause(self, ctx):␍
|
|
||||||
"""Pauzeer het huidige liedje"""␍
|
|
||||||
state = self.get_voice_state(ctx.message.server)␍
|
|
||||||
if state.is_playing():␍
|
|
||||||
player = state.player␍
|
|
||||||
player.pause()␍
|
|
||||||
␍
|
|
||||||
@commands.command(pass_context=True, no_pm=True)␍
|
|
||||||
@asyncio.coroutine␍
|
|
||||||
def resume(self, ctx):␍
|
|
||||||
"""onpauzeer."""␍
|
|
||||||
state = self.get_voice_state(ctx.message.server)␍
|
|
||||||
if state.is_playing():␍
|
|
||||||
player = state.player␍
|
|
||||||
player.resume()␍
|
|
||||||
␍
|
|
||||||
@commands.command(pass_context=True, no_pm=True)␍
|
|
||||||
@asyncio.coroutine␍
|
|
||||||
def stop(self, ctx):␍
|
|
||||||
"""Kappen nou. Stoppen met spelen, gaat uit het kanaal en leegt de queue.␍
|
|
||||||
"""␍
|
|
||||||
server = ctx.message.server␍
|
|
||||||
state = self.get_voice_state(server)␍
|
|
||||||
␍
|
|
||||||
if state.is_playing():␍
|
|
||||||
player = state.player␍
|
|
||||||
player.stop()␍
|
|
||||||
␍
|
|
||||||
try:␍
|
|
||||||
state.audio_player.cancel()␍
|
|
||||||
del self.voice_states[server.id]␍
|
|
||||||
yield from state.voice.disconnect()␍
|
|
||||||
except:␍
|
|
||||||
pass␍
|
|
||||||
␍
|
|
||||||
@commands.command(pass_context=True, no_pm=True)␍
|
|
||||||
@asyncio.coroutine␍
|
|
||||||
def skip(self, ctx):␍
|
|
||||||
"""skipperdepip␍
|
|
||||||
"""␍
|
|
||||||
␍
|
|
||||||
state = self.get_voice_state(ctx.message.server)␍
|
|
||||||
if not state.is_playing():␍
|
|
||||||
yield from self.bot.say('Not playing any music right now...')␍
|
|
||||||
return␍
|
|
||||||
␍
|
|
||||||
voter = ctx.message.author␍
|
|
||||||
if voter == state.current.requester:␍
|
|
||||||
yield from self.bot.say('Requester requested skipping song...')␍
|
|
||||||
state.skip()␍
|
|
||||||
elif voter.id not in state.skip_votes:␍
|
|
||||||
state.skip_votes.add(voter.id)␍
|
|
||||||
total_votes = len(state.skip_votes)␍
|
|
||||||
if total_votes >= 3:␍
|
|
||||||
yield from self.bot.say('Skip vote passed, skipping song...')␍
|
|
||||||
state.skip()␍
|
|
||||||
else:␍
|
|
||||||
yield from self.bot.say('Skip vote added, currently at [{}/3]'.format(total_votes))␍
|
|
||||||
else:␍
|
|
||||||
yield from self.bot.say('You have already voted to skip this song.')␍
|
|
||||||
␍
|
|
||||||
@commands.command(pass_context=True, no_pm=True)␍
|
|
||||||
@asyncio.coroutine␍
|
|
||||||
def playing(self, ctx):␍
|
|
||||||
"""Info over het huidige liedje."""␍
|
|
||||||
␍
|
|
||||||
state = self.get_voice_state(ctx.message.server)␍
|
|
||||||
if state.current is None:␍
|
|
||||||
yield from self.bot.say('Not playing anything.')␍
|
|
||||||
else:␍
|
|
||||||
skip_count = len(state.skip_votes)␍
|
|
||||||
yield from self.bot.say('Now playing {} [skips: {}/3]'.format(state.current, skip_count))␍
|
|
||||||
-36
@@ -1,36 +0,0 @@
|
|||||||
import asyncio␍
|
|
||||||
import discord␍
|
|
||||||
from discord.ext import commands␍
|
|
||||||
import os␍
|
|
||||||
from random import randint␍
|
|
||||||
␍
|
|
||||||
class Porno(object):␍
|
|
||||||
"""Porno commando's. Jij weet wat er aan is."""␍
|
|
||||||
␍
|
|
||||||
def __init__(self, bot):␍
|
|
||||||
self.bot = bot␍
|
|
||||||
self.voice_states = {}␍
|
|
||||||
self.fileIndex = {}␍
|
|
||||||
def __check(self, ctx): #Todo: Is dit het porno kanaal?␍
|
|
||||||
return True␍
|
|
||||||
␍
|
|
||||||
def randomJpgFromFolder(self, dir):␍
|
|
||||||
if dir not in self.fileIndex.keys():␍
|
|
||||||
self.fileIndex[dir] = [] #empty list␍
|
|
||||||
for dirname, dirnames, filenames in os.walk('./'+ dir):␍
|
|
||||||
for filename in filenames:␍
|
|
||||||
if filename.endswith('.jpg'):␍
|
|
||||||
self.fileIndex[dir].append(os.path.join(dirname, filename))␍
|
|
||||||
#now we should have an index for the selected folder, but it might still be empty (i.e. empty folder given)␍
|
|
||||||
if self.fileIndex[dir]:␍
|
|
||||||
return self.fileIndex[dir][randint(0,len(self.fileIndex[dir])-1)] #get a random element from the newly created index␍
|
|
||||||
else:␍
|
|
||||||
return 'default file here'␍
|
|
||||||
␍
|
|
||||||
@commands.command(pass_context=True)␍
|
|
||||||
@asyncio.coroutine␍
|
|
||||||
def ancilla(self, ctx):␍
|
|
||||||
""" :-) """␍
|
|
||||||
filepath = self.randomJpgFromFolder('ancilla');␍
|
|
||||||
file = open(filepath, 'rb')␍
|
|
||||||
yield from self.bot.upload(file, filename = filepath, content='Alsjeblieft!')
|
|
||||||
@@ -1,72 +0,0 @@
|
|||||||
import asyncio␍
|
|
||||||
import discord␍
|
|
||||||
from discord.ext import commands␍
|
|
||||||
from urllib import request␍
|
|
||||||
import json, requests␍
|
|
||||||
from datetime import datetime␍
|
|
||||||
import sys␍
|
|
||||||
import os␍
|
|
||||||
␍
|
|
||||||
class Shitpost(object):␍
|
|
||||||
"""Schijtpaal commando's. Alleen bruikbaar in de daarvoor toegewezen schijtpaal kanalen."""␍
|
|
||||||
␍
|
|
||||||
def __init__(self, bot):␍
|
|
||||||
self.bot = bot␍
|
|
||||||
self.voice_states = {}␍
|
|
||||||
def __check(self, ctx): #Todo: Is dit het shitpost kanaal?␍
|
|
||||||
return True␍
|
|
||||||
␍
|
|
||||||
@commands.command(pass_context=True)␍
|
|
||||||
@asyncio.coroutine␍
|
|
||||||
def eriku(self, ctx, boven: str, onder: str):␍
|
|
||||||
"""Maakt een erik meem.␍
|
|
||||||
Bijvoorbeeld:␍
|
|
||||||
@Stroopwafel eriku \"je moeder\" \"is een hoer\"␍
|
|
||||||
"""␍
|
|
||||||
params = dict(␍
|
|
||||||
template_id = '93296473', #de eriku␍
|
|
||||||
username = 'Stroopwafel',␍
|
|
||||||
password = 'ruyter118',␍
|
|
||||||
text0 = boven,␍
|
|
||||||
text1 = onder␍
|
|
||||||
)␍
|
|
||||||
self.bot.say("deed ik het ding?")␍
|
|
||||||
resp = requests.get(url='https://api.imgflip.com/caption_image', params=params)␍
|
|
||||||
#todo check for success␍
|
|
||||||
photourl = resp.json()['data']['url']␍
|
|
||||||
em = discord.Embed(title='De Eriku heeft gesproken. Prijs hem!', type='photo')␍
|
|
||||||
em.set_image(url=photourl)␍
|
|
||||||
yield from self.bot.say(embed=em)␍
|
|
||||||
␍
|
|
||||||
@commands.command(pass_context=True, hidden=True)␍
|
|
||||||
@asyncio.coroutine␍
|
|
||||||
def nihao(self,ctx):␍
|
|
||||||
yield from self.bot.say("Kankerlauw")␍
|
|
||||||
␍
|
|
||||||
@commands.command(pass_context=True)␍
|
|
||||||
@asyncio.coroutine␍
|
|
||||||
def tijd(self, ctx, *args):␍
|
|
||||||
"""Vertelt je hoe laat het is..␍
|
|
||||||
Misschien geeft het ook wel een leuke meem terug.␍
|
|
||||||
Wie weet.␍
|
|
||||||
Probeer het eens op verschillende tijdstippen␍
|
|
||||||
"""␍
|
|
||||||
␍
|
|
||||||
time=datetime.now().strftime('%H%M')␍
|
|
||||||
for argument in args:␍
|
|
||||||
time = argument␍
|
|
||||||
filepath = ''␍
|
|
||||||
#filejpg = './tijd/' + time + '.jpg'␍
|
|
||||||
#filepng = './tijd/' + time + '.png'␍
|
|
||||||
filejpg = os.path.join('tijd', time) + '.jpg'␍
|
|
||||||
filepng = os.path.join('tijd', time) + '.png'␍
|
|
||||||
if os.path.isfile(filejpg):␍
|
|
||||||
filepath = filejpg␍
|
|
||||||
elif os.path.isfile(filepng):␍
|
|
||||||
filepath = filepng␍
|
|
||||||
␍
|
|
||||||
if filepath is not '':␍
|
|
||||||
file = open(filepath, 'rb')␍
|
|
||||||
yield from self.bot.upload(file, filename = filepath)␍
|
|
||||||
else:␍
|
|
||||||
yield from self.bot.say('Het is nu ' + datetime.now().strftime('%H:%M'))
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
import asyncio␍
|
|
||||||
import discord␍
|
|
||||||
import Music␍
|
|
||||||
import Porno␍
|
|
||||||
import Shitpost␍
|
|
||||||
import General␍
|
|
||||||
from discord.ext import commands␍
|
|
||||||
␍
|
|
||||||
bot = commands.Bot(command_prefix=commands.when_mentioned_or('!'), description='Stroopwafel. Shitpost bot extraordinaire.', pm_help=True)␍
|
|
||||||
bot.add_cog(Music.Music(bot))␍
|
|
||||||
bot.add_cog(Shitpost.Shitpost(bot))␍
|
|
||||||
bot.add_cog(Porno.Porno(bot))␍
|
|
||||||
bot.add_cog(General.General(bot))␍
|
|
||||||
␍
|
|
||||||
@bot.event␍
|
|
||||||
@asyncio.coroutine␍
|
|
||||||
def on_ready():␍
|
|
||||||
print('Logged in as:\n{0} (ID: {0.id})'.format(bot.user))␍
|
|
||||||
␍
|
|
||||||
bot.run('MjczODc1ODM1NzIxNzQ0Mzg1.C2p7EA._tTMtYEsaUuTv_RtOifGhNX9QZ4')
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 38 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 38 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 63 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 63 KiB |
Reference in New Issue
Block a user