Removing the unused function in gameLoops and changing the class name to start with a capital letter
67 lines
2.7 KiB
Python
67 lines
2.7 KiB
Python
import asyncio
|
|
import discord
|
|
|
|
class GameLoops():
|
|
def __init__(self,bot):
|
|
self.bot = bot
|
|
|
|
|
|
# Deletes a message
|
|
async def deleteMessage(self, imageLocation,channel):
|
|
try:
|
|
with open("resources/games/oldImages/"+imageLocation, "r") as f:
|
|
messages = f.read().splitlines()
|
|
|
|
for message in messages:
|
|
oldMessage = await channel.fetch_message(int(message))
|
|
self.bot.log("Deleting old message")
|
|
await oldMessage.delete()
|
|
except:
|
|
oldMessage = ""
|
|
|
|
return oldMessage
|
|
|
|
# Runs Hex
|
|
async def runHex(self,ctx,command,user):
|
|
channelId = ctx.channel_id
|
|
try:
|
|
response, showImage, deleteImage, gameDone, gwendoTurn = self.bot.games.hex.parseHex(command,str(channelId),user)
|
|
except:
|
|
self.bot.log("Error parsing command (error code 1510)")
|
|
|
|
await ctx.send(response)
|
|
|
|
self.bot.log(response,str(channelId))
|
|
if showImage:
|
|
if deleteImage:
|
|
try:
|
|
oldImage = await self.deleteMessage("hex"+str(channelId),ctx.channel)
|
|
except:
|
|
self.bot.log("Error deleting old image (error code 1501)")
|
|
oldImage = await ctx.channel.send(file = discord.File("resources/games/hexBoards/board"+str(channelId)+".png"))
|
|
if gwendoTurn and not gameDone:
|
|
try:
|
|
response, showImage, deleteImage, gameDone, gwendoTurn = self.bot.games.hex.hexAI(str(channelId))
|
|
except:
|
|
response, showImage, deleteImage, gameDone, gwendoTurn = "An AI error ocurred",False,False,False,False
|
|
self.bot.log("AI error (error code 1520)")
|
|
await ctx.channel.send(response)
|
|
self.bot.log(response,str(channelId))
|
|
if showImage:
|
|
if deleteImage:
|
|
await oldImage.delete()
|
|
oldImage = await ctx.channel.send(file = discord.File("resources/games/hexBoards/board"+str(channelId)+".png"))
|
|
if not gameDone:
|
|
with open("resources/games/oldImages/hex"+str(channelId), "w") as f:
|
|
f.write(str(oldImage.id))
|
|
|
|
if gameDone:
|
|
game = self.bot.database["hex games"].find_one({"_id":str(channelId)})
|
|
|
|
winner = game["winner"]
|
|
if winner != 0 and game["players"][0] != game["players"][1]: # player1 != player2
|
|
winnings = game["difficulty"]*10
|
|
self.bot.money.addMoney(game["players"][winner-1].lower(),winnings)
|
|
|
|
self.bot.databaseFuncs.deleteGame("hex games",str(channelId))
|