🔀 General bug fixing
General bug fixing
This commit is contained in:
@ -50,6 +50,12 @@ class Gwendolyn(commands.Bot):
|
||||
self.log(f"{ctx.author.display_name} tried to stop me! (error code 201)",str(ctx.channel_id))
|
||||
await ctx.send(f"I don't think I will, {ctx.author.display_name} (error code 201)")
|
||||
|
||||
async def defer(self, ctx):
|
||||
try:
|
||||
await ctx.defer()
|
||||
except:
|
||||
self.log("defer failed")
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
@ -2,7 +2,7 @@ import discord, codecs, string, json
|
||||
from discord.ext import commands
|
||||
from discord_slash import cog_ext
|
||||
|
||||
from utils import getParams
|
||||
from utils import getParams # pylint: disable=import-error
|
||||
|
||||
params = getParams()
|
||||
|
||||
|
@ -172,10 +172,7 @@ class Blackjack():
|
||||
|
||||
# When players try to hit
|
||||
async def hit(self, ctx, handNumber = 0):
|
||||
try:
|
||||
await ctx.defer()
|
||||
except:
|
||||
self.bot.log("Defer failed")
|
||||
await self.bot.defer(ctx)
|
||||
channel = str(ctx.channel_id)
|
||||
user = f"#{ctx.author.id}"
|
||||
roundDone = False
|
||||
@ -239,10 +236,7 @@ class Blackjack():
|
||||
|
||||
# When players try to double down
|
||||
async def double(self, ctx, handNumber = 0):
|
||||
try:
|
||||
await ctx.defer()
|
||||
except:
|
||||
self.bot.log("Defer failed")
|
||||
await self.bot.defer(ctx)
|
||||
channel = str(ctx.channel_id)
|
||||
user = f"#{ctx.author.id}"
|
||||
roundDone = False
|
||||
@ -317,10 +311,7 @@ class Blackjack():
|
||||
|
||||
# When players try to stand
|
||||
async def stand(self, ctx, handNumber = 0):
|
||||
try:
|
||||
await ctx.defer()
|
||||
except:
|
||||
self.bot.log("Defer failed")
|
||||
await self.bot.defer(ctx)
|
||||
channel = str(ctx.channel_id)
|
||||
user = f"#{ctx.author.id}"
|
||||
roundDone = False
|
||||
@ -378,10 +369,7 @@ class Blackjack():
|
||||
|
||||
# When players try to split
|
||||
async def split(self, ctx, handNumber = 0):
|
||||
try:
|
||||
await ctx.defer()
|
||||
except:
|
||||
self.bot.log("Defer failed")
|
||||
await self.bot.defer(ctx)
|
||||
channel = str(ctx.channel_id)
|
||||
user = f"#{ctx.author.id}"
|
||||
roundDone = False
|
||||
@ -506,10 +494,7 @@ class Blackjack():
|
||||
|
||||
# Player enters the game and draws a hand
|
||||
async def playerDrawHand(self, ctx, bet : int):
|
||||
try:
|
||||
await ctx.defer()
|
||||
except:
|
||||
self.bot.log("Defer failed")
|
||||
await self.bot.defer(ctx)
|
||||
channel = str(ctx.channel_id)
|
||||
user = f"#{ctx.author.id}"
|
||||
collection = self.bot.database["blackjack games"]
|
||||
@ -565,10 +550,7 @@ class Blackjack():
|
||||
|
||||
# Starts a game of blackjack
|
||||
async def start(self, ctx):
|
||||
try:
|
||||
await ctx.defer()
|
||||
except:
|
||||
self.bot.log("Defer failed")
|
||||
await self.bot.defer(ctx)
|
||||
channel = str(ctx.channel_id)
|
||||
blackjackMinCards = 50
|
||||
blackjackDecks = 4
|
||||
|
@ -26,10 +26,7 @@ class ConnectFour():
|
||||
|
||||
# Starts the game
|
||||
async def start(self, ctx, opponent):
|
||||
try:
|
||||
await ctx.defer()
|
||||
except:
|
||||
self.bot.log("Defer failed")
|
||||
await self.bot.defer(ctx)
|
||||
user = f"#{ctx.author.id}"
|
||||
channel = str(ctx.channel_id)
|
||||
game = self.bot.database["connect 4 games"].find_one({"_id":channel})
|
||||
@ -228,10 +225,7 @@ class ConnectFour():
|
||||
|
||||
# Parses command
|
||||
async def surrender(self, ctx):
|
||||
try:
|
||||
await ctx.defer()
|
||||
except:
|
||||
self.bot.log("Defer failed")
|
||||
await self.bot.defer(ctx)
|
||||
channel = str(ctx.channel_id)
|
||||
game = self.bot.database["connect 4 games"].find_one({"_id":channel})
|
||||
|
||||
|
@ -10,7 +10,7 @@ class Hangman():
|
||||
self.draw = DrawHangman(bot)
|
||||
|
||||
async def start(self, ctx):
|
||||
await ctx.defer()
|
||||
await self.bot.defer(ctx)
|
||||
channel = str(ctx.channel_id)
|
||||
user = f"#{ctx.author.id}"
|
||||
game = self.bot.database["hangman games"].find_one({"_id":channel})
|
||||
|
@ -93,10 +93,7 @@ class HexGame():
|
||||
|
||||
# Starts the game
|
||||
async def start(self, ctx, opponent):
|
||||
try:
|
||||
await ctx.defer()
|
||||
except:
|
||||
self.bot.log("Defer failed")
|
||||
await self.bot.defer(ctx)
|
||||
user = f"#{ctx.author.id}"
|
||||
channel = str(ctx.channel_id)
|
||||
game = self.bot.database["hex games"].find_one({"_id":channel})
|
||||
|
@ -106,10 +106,7 @@ class Invest():
|
||||
return "no"
|
||||
|
||||
async def parseInvest(self, ctx, parameters):
|
||||
try:
|
||||
await ctx.defer()
|
||||
except:
|
||||
self.bot.log("Defer failed")
|
||||
await self.bot.defer(ctx)
|
||||
user = f"#{ctx.author.id}"
|
||||
|
||||
if parameters.startswith("check"):
|
||||
|
@ -15,7 +15,7 @@ class Money():
|
||||
else: return 0
|
||||
|
||||
async def sendBalance(self, ctx):
|
||||
await ctx.defer()
|
||||
await self.bot.defer(ctx)
|
||||
response = self.checkBalance("#"+str(ctx.author.id))
|
||||
if response == 1:
|
||||
new_message = ctx.author.display_name + " has " + str(response) + " GwendoBuck"
|
||||
@ -36,10 +36,7 @@ class Money():
|
||||
|
||||
# Transfers money from one user to another
|
||||
async def giveMoney(self, ctx, user, amount):
|
||||
try:
|
||||
await ctx.defer()
|
||||
except:
|
||||
self.bot.log("Defer failed")
|
||||
await self.bot.defer(ctx)
|
||||
username = user.display_name
|
||||
if self.bot.databaseFuncs.getID(username) == None:
|
||||
async for member in ctx.guild.fetch_members(limit=None):
|
||||
|
@ -86,10 +86,7 @@ class Trivia():
|
||||
return None
|
||||
|
||||
async def triviaParse(self, ctx, answer):
|
||||
try:
|
||||
await ctx.defer()
|
||||
except:
|
||||
self.bot.log("defer failed")
|
||||
await self.bot.defer(ctx)
|
||||
if answer == "":
|
||||
question, options, correctAnswer = self.triviaStart(str(ctx.channel_id))
|
||||
if options != "":
|
||||
|
@ -13,7 +13,7 @@ class BedreNetflix():
|
||||
|
||||
#Returns a list of no more than 5 options when user requests a movie
|
||||
async def requestMovie(self, ctx, movieName):
|
||||
await ctx.defer()
|
||||
await self.bot.defer(ctx)
|
||||
|
||||
self.bot.log("Searching for "+movieName)
|
||||
movieList = imdb.IMDb().search_movie(movieName)
|
||||
@ -61,11 +61,18 @@ class BedreNetflix():
|
||||
|
||||
await message.add_reaction("❌")
|
||||
|
||||
message = await ctx.channel.fetch_message(message.id)
|
||||
if message.content != "" and not isinstance(ctx.channel, discord.DMChannel):
|
||||
await message.clear_reactions()
|
||||
|
||||
#Adds the requested movie to Bedre Netflix
|
||||
async def addMovie(self, message, imdbId):
|
||||
async def addMovie(self, message, imdbId, editMessage = True):
|
||||
if imdbId == None:
|
||||
self.bot.log("Did not find what the user was searching for")
|
||||
await message.edit(embed = None, content = "Try searching for the IMDB id")
|
||||
if editMessage:
|
||||
await message.edit(embed = None, content = "Try searching for the IMDB id")
|
||||
else:
|
||||
await message.channel.send("Try searching for the IMDB id")
|
||||
else:
|
||||
self.bot.log("Trying to add movie "+str(imdbId))
|
||||
apiKey = self.bot.credentials.radarrKey
|
||||
@ -81,18 +88,28 @@ class BedreNetflix():
|
||||
r = requests.post(url= self.radarrURL+"movie?apikey="+apiKey,json = postData)
|
||||
|
||||
if r.status_code == 201:
|
||||
await message.edit(embed = None, content = postData["title"]+" successfully added to Bedre Netflix")
|
||||
if editMessage:
|
||||
await message.edit(embed = None, content = postData["title"]+" successfully added to Bedre Netflix")
|
||||
else:
|
||||
await message.channel.send(postData["title"]+" successfully added to Bedre Netflix")
|
||||
|
||||
self.bot.log("Added "+postData["title"]+" to Bedre Netflix")
|
||||
elif r.status_code == 400:
|
||||
text = f"{postData['title']} is either already on Bedre Netflix, downloading, or not available"
|
||||
await message.edit(embed = None, content = text)
|
||||
if editMessage:
|
||||
await message.edit(embed = None, content = text)
|
||||
else:
|
||||
await message.channel.send(text)
|
||||
else:
|
||||
await message.edit(embed = None, content = "Something went wrong")
|
||||
if editMessage:
|
||||
await message.edit(embed = None, content = "Something went wrong")
|
||||
else:
|
||||
await message.channel.send("Something went wrong")
|
||||
self.bot.log(str(r.status_code)+" "+r.reason)
|
||||
|
||||
#Returns a list of no more than 5 options when user requests a show
|
||||
async def requestShow(self, ctx, showName):
|
||||
await ctx.defer()
|
||||
await self.bot.defer(ctx)
|
||||
|
||||
self.bot.log("Searching for "+showName)
|
||||
movies = imdb.IMDb().search_movie(showName) #Replace with tvdb
|
||||
@ -140,6 +157,10 @@ class BedreNetflix():
|
||||
|
||||
await message.add_reaction("❌")
|
||||
|
||||
message = await ctx.channel.fetch_message(message.id)
|
||||
if message.content != "" and not isinstance(ctx.channel, discord.DMChannel):
|
||||
await message.clear_reactions()
|
||||
|
||||
#Adds the requested show to Bedre Netflix
|
||||
async def addShow(self, message, imdbName):
|
||||
if imdbName == None:
|
||||
@ -307,7 +328,7 @@ class BedreNetflix():
|
||||
await ctx.send("```"+messageText[:cutOffIndex]+"```")
|
||||
await SendLongMessage(ctx,messageText[cutOffIndex+1:])
|
||||
|
||||
await ctx.defer()
|
||||
await self.bot.defer(ctx)
|
||||
|
||||
# showDM, showMovies, showShows, episodes
|
||||
params = [False, False, False, False]
|
||||
|
@ -1,4 +1,4 @@
|
||||
import discord, wolframalpha, requests, os
|
||||
import discord, discord_slash, wolframalpha, requests, os
|
||||
from PIL import Image, ImageDraw, ImageFont
|
||||
|
||||
class NerdShit():
|
||||
@ -7,8 +7,8 @@ class NerdShit():
|
||||
self.bot = bot
|
||||
|
||||
async def wolfSearch(self,ctx,content):
|
||||
await self.bot.defer(ctx)
|
||||
fnt = ImageFont.truetype('resources/fonts/times-new-roman.ttf', 20)
|
||||
await ctx.defer()
|
||||
self.bot.log("Requesting data")
|
||||
bot = wolframalpha.Client(self.bot.credentials.wolfKey)
|
||||
res = bot.query(content)
|
||||
@ -36,19 +36,19 @@ class NerdShit():
|
||||
heights = []
|
||||
for count, pod in enumerate(chunk):
|
||||
heights += [height]
|
||||
width = max(width,int(list(pod.img)[0]["@width"]))
|
||||
width = max(width,int(pod.img['@width']))
|
||||
if titleChucks[x][count] == "":
|
||||
placeForText = 0
|
||||
else:
|
||||
placeForText = 30
|
||||
height += int(list(pod.img)[0]["@height"]) + 10 + placeForText
|
||||
height += int(pod.img["@height"]) + 10 + placeForText
|
||||
|
||||
width += 10
|
||||
height += 5
|
||||
wolfImage = Image.new("RGB",(width,height),color=(255,255,255))
|
||||
|
||||
for count, pod in enumerate(chunk):
|
||||
response = requests.get(list(pod.img)[0]["@src"])
|
||||
response = requests.get(pod.img["@src"])
|
||||
file = open("resources/wolfTemp.png", "wb")
|
||||
file.write(response.content)
|
||||
file.close()
|
||||
|
@ -34,7 +34,7 @@ class Other():
|
||||
|
||||
# Picks a random movie and returns information about it
|
||||
async def movieFunc(self, ctx):
|
||||
await ctx.defer()
|
||||
await self.bot.defer(ctx)
|
||||
|
||||
self.bot.log("Creating IMDb object")
|
||||
imdbClient = imdb.IMDb()
|
||||
@ -138,7 +138,7 @@ class Other():
|
||||
|
||||
# Finds a page from the Senkulpa Wikia
|
||||
async def findWikiPage(self, ctx, search : str):
|
||||
await ctx.defer()
|
||||
await self.bot.defer(ctx)
|
||||
foundPage = False
|
||||
|
||||
if search != "":
|
||||
|
@ -11,7 +11,7 @@ d20==1.1.0
|
||||
discord-py-slash-command==1.1.1
|
||||
discord.py==1.7.1
|
||||
dnspython==2.1.0
|
||||
docutils==0.17
|
||||
docutils==0.16
|
||||
fandom-py==0.2.1
|
||||
finnhub-python==2.4.0
|
||||
gitdb==4.0.7
|
||||
@ -21,7 +21,7 @@ idna==2.10
|
||||
IMDbPY==2020.9.25
|
||||
isort==5.8.0
|
||||
jaraco.context==4.0.0
|
||||
lark-parser==0.11.2
|
||||
lark-parser==0.9.0
|
||||
lazy-object-proxy==1.6.0
|
||||
lxml==4.6.3
|
||||
mccabe==0.6.1
|
||||
|
@ -50,16 +50,26 @@ class EventHandler():
|
||||
imdbID = None
|
||||
else:
|
||||
imdbID = imdbIds[moviePick-1]
|
||||
await message.clear_reactions()
|
||||
await self.bot.other.bedreNetflix.addMovie(message, imdbID)
|
||||
|
||||
if isinstance(channel, discord.DMChannel):
|
||||
await message.delete()
|
||||
await self.bot.other.bedreNetflix.addMovie(message, imdbID, False)
|
||||
else:
|
||||
await message.clear_reactions()
|
||||
await self.bot.other.bedreNetflix.addMovie(message, imdbID)
|
||||
elif bedreNetflixMessage and not addMovie:
|
||||
showPick = emojiToCommand(reaction.emoji)
|
||||
if showPick == "none":
|
||||
imdbName = None
|
||||
else:
|
||||
imdbName = imdbIds[showPick-1]
|
||||
await message.clear_reactions()
|
||||
await self.bot.other.bedreNetflix.addShow(message, imdbName)
|
||||
|
||||
if isinstance(channel, discord.DMChannel):
|
||||
await message.delete()
|
||||
await self.bot.other.bedreNetflix.addShow(message, imdbName, False)
|
||||
else:
|
||||
await message.clear_reactions()
|
||||
await self.bot.other.bedreNetflix.addShow(message, imdbName)
|
||||
|
||||
elif self.bot.databaseFuncs.hangmanReactionTest(channel, message, f"#{user.id}"):
|
||||
self.bot.log("They reacted to the hangman message")
|
||||
|
@ -2,6 +2,7 @@ import json
|
||||
import logging
|
||||
import os
|
||||
import sys
|
||||
import imdb
|
||||
from .helperClasses import Options
|
||||
|
||||
FORMAT = " %(asctime)s | %(name)-16s | %(levelname)-8s | %(message)s"
|
||||
@ -17,6 +18,8 @@ handler.setFormatter(logging.Formatter(fmt = PRINTFORMAT, datefmt=DATEFORMAT))
|
||||
printer.addHandler(handler)
|
||||
printer.propagate = False
|
||||
|
||||
imdb._logging.setLevel("CRITICAL")
|
||||
|
||||
def getParams():
|
||||
with open("resources/slashParameters.json", "r") as f:
|
||||
params = json.load(f)
|
||||
|
Reference in New Issue
Block a user