⚙️ Cogs
This commit is contained in:
269
cogs/GamesCog.py
Normal file
269
cogs/GamesCog.py
Normal file
@@ -0,0 +1,269 @@
|
||||
import discord, asyncio, os, json
|
||||
from discord.ext import commands
|
||||
|
||||
from funcs import logThis, triviaAnswer, triviaCountPoints, triviaStart, deleteGame, checkBalance, giveMoney, blackjackShuffle, blackjackStart, blackjackPlayerDrawHand, blackjackHit, blackjackDouble, blackjackFinish, blackjackSplit, blackjackStand
|
||||
|
||||
from gameLoops import blackjackLoop, fiar, runMonopoly, runHex
|
||||
|
||||
class GamesCog(commands.Cog):
|
||||
|
||||
"""Cog for game functions"""
|
||||
|
||||
def __init__(self,client):
|
||||
self.client = client
|
||||
|
||||
# Checks user balance
|
||||
@commands.command(aliases = ["b"])
|
||||
async def balance(self, ctx):
|
||||
response = checkBalance("#"+str(ctx.message.author.id))
|
||||
if response == 1:
|
||||
new_message = ctx.message.author.display_name + " has " + str(response) + " GwendoBuck"
|
||||
else:
|
||||
new_message = ctx.message.author.display_name + " has " + str(response) + " GwendoBucks"
|
||||
await ctx.send(new_message)
|
||||
|
||||
# Gives another user an amount of GwendoBucks
|
||||
@commands.command()
|
||||
async def give(self, ctx, *, content):
|
||||
commands = content.split(" ")
|
||||
if len(commands) == 2:
|
||||
print(commands)
|
||||
amount = int(commands[1])
|
||||
response = giveMoney("#"+str(ctx.message.author.id),commands[0],amount)
|
||||
await ctx.send(response)
|
||||
else:
|
||||
logThis("I didn't understand that (error code 1222)",str(ctx.message.channel.id))
|
||||
await ctx.send("I didn't understand that (error code 1222)")
|
||||
|
||||
# Runs a game of trivia
|
||||
@commands.command()
|
||||
async def trivia(self, ctx, *, content = ""):
|
||||
if content == "":
|
||||
question, answers, correctAnswer = triviaStart(str(ctx.message.channel.id))
|
||||
if answers != "":
|
||||
results = "**"+question+"**\n"
|
||||
for answer in range(len(answers)):
|
||||
results += chr(answer+97) + ") "+answers[answer]+"\n"
|
||||
|
||||
await ctx.send(results)
|
||||
|
||||
await asyncio.sleep(60)
|
||||
|
||||
triviaCountPoints(str(ctx.message.channel.id))
|
||||
|
||||
deleteGame("trivia questions",str(ctx.message.channel.id))
|
||||
|
||||
logThis("Time's up for the trivia question",str(ctx.message.channel.id))
|
||||
await ctx.send("Time's up The answer was \""+chr(correctAnswer)+") "+answers[correctAnswer-97]+"\". Anyone who answered that has gotten 1 GwendoBuck")
|
||||
else:
|
||||
await ctx.send(question)
|
||||
|
||||
elif content in ["a","b","c","d"]:
|
||||
response = triviaAnswer("#"+str(ctx.message.author.id),str(ctx.message.channel.id),content)
|
||||
if response.startswith("Locked in "):
|
||||
await ctx.message.add_reaction("👍")
|
||||
else:
|
||||
await ctx.send(response)
|
||||
else:
|
||||
logThis("I didn't understand that (error code 1101)",str(ctx.message.channel.id))
|
||||
await ctx.send("I didn't understand that (error code 1101)")
|
||||
|
||||
# Runs a game of blackjack
|
||||
@commands.command(aliases = ["bj"])
|
||||
async def blackjack(self, ctx, *, content = ""):
|
||||
# Blackjack shuffle variables
|
||||
blackjackMinCards = 50
|
||||
blackjackDecks = 4
|
||||
|
||||
channel = ctx.message.channel.id
|
||||
# Starts the game
|
||||
if content == "":
|
||||
cardsLeft = 0
|
||||
if os.path.exists("resources/games/blackjackCards/"+str(channel)+".txt"):
|
||||
with open("resources/games/blackjackCards/"+str(channel)+".txt","r") as f:
|
||||
for _ in f:
|
||||
cardsLeft += 1
|
||||
|
||||
# Shuffles if not enough cards
|
||||
if cardsLeft < blackjackMinCards:
|
||||
blackjackShuffle(blackjackDecks,str(channel))
|
||||
logThis("Shuffling the blackjack deck...",str(channel))
|
||||
await ctx.send("Shuffling the deck...")
|
||||
|
||||
new_message = blackjackStart(str(channel))
|
||||
if new_message == "started":
|
||||
|
||||
new_message = "Blackjack game started. Use \"!blackjack bet [amount]\" to enter the game within the next 30 seconds."
|
||||
await ctx.send(new_message)
|
||||
oldImage = await ctx.send(file = discord.File("resources/games/blackjackTables/blackjackTable"+str(channel)+".png"))
|
||||
|
||||
with open("resources/games/oldImages/blackjack"+str(channel), "w") as f:
|
||||
f.write(str(oldImage.id))
|
||||
|
||||
await asyncio.sleep(30)
|
||||
|
||||
gamedone = False
|
||||
|
||||
with open("resources/games/games.json", "r") as f:
|
||||
data = json.load(f)
|
||||
if len(data["blackjack games"][str(channel)]["user hands"]) == 0:
|
||||
gamedone = True
|
||||
await ctx.send("No one entered the game. Ending the game.")
|
||||
gameID = data["blackjack games"][str(channel)]["id"]
|
||||
|
||||
# Loop of game rounds
|
||||
if gamedone == False:
|
||||
logThis("!blackjack calling blackjackLoop()",str(channel))
|
||||
await blackjackLoop(ctx.message.channel,1,gameID)
|
||||
else:
|
||||
new_message = blackjackFinish(str(channel))
|
||||
await ctx.send(new_message)
|
||||
else:
|
||||
await ctx.send(new_message)
|
||||
|
||||
# Entering game and placing bet
|
||||
elif content.startswith("bet"):
|
||||
commands = content.split(" ")
|
||||
amount = int(commands[1])
|
||||
response = blackjackPlayerDrawHand(str(channel),"#"+str(ctx.message.author.id),amount)
|
||||
await ctx.send(response)
|
||||
|
||||
# Hitting
|
||||
elif content.startswith("hit"):
|
||||
if content == "hit":
|
||||
response = blackjackHit(str(channel),"#"+str(ctx.message.author.id))
|
||||
else:
|
||||
commands = content.split(" ")
|
||||
try:
|
||||
handNumber = int(commands[1])
|
||||
except:
|
||||
handNumber = 0
|
||||
response = blackjackHit(str(channel),"#"+str(ctx.message.author.id),handNumber)
|
||||
|
||||
if response.startswith("accept"):
|
||||
await ctx.message.add_reaction("👍")
|
||||
try:
|
||||
if response[6] == "T":
|
||||
with open("resources/games/games.json", "r") as f:
|
||||
gameID = json.load(f)["blackjack games"][str(channel)]["id"]
|
||||
logThis("Hit calling blackjackLoop()",str(channel))
|
||||
await blackjackLoop(ctx.message.channel,int(response[7:])+1,gameID)
|
||||
except:
|
||||
logThis("Something fucked up (error code 1320)",str(channel))
|
||||
else:
|
||||
await ctx.send(response)
|
||||
|
||||
|
||||
# Standing
|
||||
elif content.startswith("stand"):
|
||||
if content == "hit":
|
||||
response = blackjackStand(str(channel),"#"+str(ctx.message.author.id))
|
||||
else:
|
||||
commands = content.split(" ")
|
||||
try:
|
||||
handNumber = int(commands[1])
|
||||
except:
|
||||
handNumber = 0
|
||||
response = blackjackStand(str(channel),"#"+str(ctx.message.author.id),handNumber)
|
||||
|
||||
if response.startswith("accept"):
|
||||
await ctx.message.add_reaction("👍")
|
||||
try:
|
||||
if response[6] == "T":
|
||||
with open("resources/games/games.json", "r") as f:
|
||||
gameID = json.load(f)["blackjack games"][str(channel)]["id"]
|
||||
logThis("Stand calling blackjackLoop()",str(channel))
|
||||
await blackjackLoop(ctx.message.channel,int(response[7:])+1,gameID)
|
||||
except:
|
||||
logThis("Something fucked up (error code 1320)",str(channel))
|
||||
else:
|
||||
await ctx.send(response)
|
||||
|
||||
# Doubling bet
|
||||
elif content.startswith("blackjack double"):
|
||||
commands = content.split(" ")
|
||||
try:
|
||||
handNumber = int(commands[1])
|
||||
except:
|
||||
handNumber = 0
|
||||
response, roundDone = blackjackDouble(str(channel),"#"+str(ctx.message.author.id),handNumber)
|
||||
|
||||
await ctx.send(response)
|
||||
|
||||
try:
|
||||
if roundDone[0] == "T":
|
||||
with open("resources/games/games.json", "r") as f:
|
||||
gameID = json.load(f)["blackjack games"][str(channel)]["id"]
|
||||
logThis("Double calling blackjackLoop()",str(channel))
|
||||
await blackjackLoop(ctx.message.channel,int(roundDone[1:])+1,gameID)
|
||||
except:
|
||||
logThis("Something fucked up (error code 1320)",str(channel))
|
||||
|
||||
# Splitting hand
|
||||
elif content.startswith("blackjack split"):
|
||||
commands = content.split(" ")
|
||||
try:
|
||||
handNumber = int(commands[1])
|
||||
except:
|
||||
handNumber = 0
|
||||
response, roundDone = blackjackSplit(str(channel),"#"+str(ctx.message.author.id),handNumber)
|
||||
|
||||
await ctx.send(response)
|
||||
|
||||
try:
|
||||
if roundDone[0] == "T":
|
||||
with open("resources/games/games.json", "r") as f:
|
||||
gameID = json.load(f)["blackjack games"][str(channel)]["id"]
|
||||
logThis("Split calling blackjackLoop()",str(channel))
|
||||
await blackjackLoop(ctx.message.channel,int(roundDone[1:])+1,gameID)
|
||||
except:
|
||||
logThis("Something fucked up (error code 1320)")
|
||||
|
||||
# Returning current hi-lo value
|
||||
elif content.startswith("blackjack hilo") and "#"+str(ctx.message.author.id) == "#266269899859427329":
|
||||
if os.path.exists("resources/games/blackjackCards/"+str(channel)+".txt"):
|
||||
with open("resources/games/hilo/"+str(channel)+".txt", "r") as f:
|
||||
data = f.read()
|
||||
else:
|
||||
data = "0"
|
||||
await ctx.send(data)
|
||||
|
||||
# Shuffles the blackjack deck
|
||||
elif content.startswith("blackjack shuffle"):
|
||||
blackjackShuffle(blackjackDecks,str(channel))
|
||||
logThis("Shuffling the blackjack deck...",str(channel))
|
||||
await ctx.send("Shuffling the deck...")
|
||||
|
||||
|
||||
# Tells you the amount of cards left
|
||||
elif content.startswith("blackjack cards"):
|
||||
cardsLeft = 0
|
||||
if os.path.exists("resources/games/blackjackCards/"+str(channel)+".txt"):
|
||||
with open("resources/games/blackjackCards/"+str(channel)+".txt","r") as f:
|
||||
for _ in f:
|
||||
cardsLeft += 1
|
||||
|
||||
decksLeft = round(cardsLeft/52,1)
|
||||
await ctx.send(str(cardsLeft)+" cards, "+str(decksLeft)+" decks")
|
||||
|
||||
else:
|
||||
logThis("Not a command (error code 1301)")
|
||||
await ctx.send("I didn't quite understand that (error code 1301)")
|
||||
|
||||
# Runs a game of Connect four
|
||||
@commands.command(aliases = ["fiar","connect4","connectfour","4iar","4inarow"])
|
||||
async def fourinarow(self, ctx, *, content = ""):
|
||||
await fiar(ctx.message.channel,content,"#"+str(ctx.message.author.id))
|
||||
|
||||
# Runs a game of Hex
|
||||
@commands.command(name="hex")
|
||||
async def hexCommand(self, ctx, *, content = ""):
|
||||
await runHex(ctx.message.channel,content,"#"+str(ctx.message.author.id))
|
||||
|
||||
# Runs a game of Monopoly
|
||||
@commands.command(aliases = ["m","mon","mono"])
|
||||
async def monopoly(self, ctx, *, content = ""):
|
||||
await runMonopoly(ctx.message.channel,content,"#"+str(ctx.message.author.id))
|
||||
|
||||
def setup(client):
|
||||
client.add_cog(GamesCog(client))
|
||||
70
cogs/LookupCog.py
Normal file
70
cogs/LookupCog.py
Normal file
@@ -0,0 +1,70 @@
|
||||
import discord, codecs
|
||||
from discord.ext import commands
|
||||
|
||||
from funcs import logThis, spellFunc, monsterFunc, cap
|
||||
|
||||
class LookupCog(commands.Cog):
|
||||
|
||||
"""Cog for lookup functions"""
|
||||
|
||||
def __init__(self,client):
|
||||
self.client = client
|
||||
|
||||
# Looks up a spell
|
||||
@commands.command()
|
||||
async def spell(self, ctx, *, content):
|
||||
spell = spellFunc(cap(content))
|
||||
if len(spell) > 2000:
|
||||
await ctx.send(spell[:2000])
|
||||
await ctx.send(spell[2000:])
|
||||
else:
|
||||
await ctx.send(spell)
|
||||
|
||||
# Looks up a monster
|
||||
@commands.command()
|
||||
async def monster(self, ctx, *, content):
|
||||
title, text1, text2, text3, text4, text5 = monsterFunc(cap(content))
|
||||
em1 = discord.Embed(title = title, description = text1, colour=0xDEADBF)
|
||||
|
||||
# Sends the received information. Seperates into seperate messages if
|
||||
# there is too much text
|
||||
await ctx.send(embed = em1)
|
||||
if text2 != "":
|
||||
if len(text2) < 2048:
|
||||
em2 = discord.Embed(title = "Special Abilities", description = text2, colour=0xDEADBF)
|
||||
await ctx.send(embed = em2)
|
||||
else:
|
||||
em2 = discord.Embed(title = "Special Abilities", description = text2[:2048], colour=0xDEADBF)
|
||||
await ctx.send(embed = em2)
|
||||
em2_2 = discord.Embed(title = "", description = text2[2048:], colour=0xDEADBF)
|
||||
await ctx.send(embed = em2_2)
|
||||
if text3 != "":
|
||||
if len(text3) < 2048:
|
||||
em3 = discord.Embed(title = "Actions", description = text3, colour=0xDEADBF)
|
||||
await ctx.send(embed = em3)
|
||||
else:
|
||||
em3 = discord.Embed(title = "Actions", description = text3[:2048], colour=0xDEADBF)
|
||||
await ctx.send(embed = em3)
|
||||
em3_2 = discord.Embed(title = "", description = text3[2048:], colour=0xDEADBF)
|
||||
await ctx.send(embed = em3_2)
|
||||
if text4 != "":
|
||||
if len(text4) < 2048:
|
||||
em4 = discord.Embed(title = "Reactions", description = text4, colour=0xDEADBF)
|
||||
await ctx.send(embed = em4)
|
||||
else:
|
||||
em4 = discord.Embed(title = "Reactions", description = text4[:2048], colour=0xDEADBF)
|
||||
await ctx.send(embed = em4)
|
||||
em4_2 = discord.Embed(title = "", description = text4[2048:], colour=0xDEADBF)
|
||||
await ctx.send(embed = em4_2)
|
||||
if text5 != "":
|
||||
if len(text5) < 2048:
|
||||
em5 = discord.Embed(title = "Legendary Actions", description = text5, colour=0xDEADBF)
|
||||
await ctx.send(embed = em5)
|
||||
else:
|
||||
em5 = discord.Embed(title = "Legendary Actions", description = text5[:2048], colour=0xDEADBF)
|
||||
await ctx.send(embed = em5)
|
||||
em5_2 = discord.Embed(title = "", description = text5[2048:], colour=0xDEADBF)
|
||||
await ctx.send(embed = em5_2)
|
||||
|
||||
def setup(client):
|
||||
client.add_cog(LookupCog(client))
|
||||
123
cogs/MiscCog.py
Normal file
123
cogs/MiscCog.py
Normal file
@@ -0,0 +1,123 @@
|
||||
import discord, codecs, string
|
||||
from discord.ext import commands
|
||||
|
||||
from funcs import logThis, stopServer, helloFunc, roll_dice, imageFunc, nameGen, tavernGen, movieFunc, cap, findWikiPage
|
||||
|
||||
class MiscCog(commands.Cog):
|
||||
|
||||
"""Cog for misc functions"""
|
||||
|
||||
def __init__(self,client):
|
||||
self.client = client
|
||||
self.client.remove_command("help")
|
||||
|
||||
@commands.command(name = "help")
|
||||
async def helpCommand(self, ctx, *, content = ""):
|
||||
if content == "":
|
||||
with codecs.open("resources/help/help.txt",encoding="utf-8") as f:
|
||||
text = f.read()
|
||||
em = discord.Embed(title = "Help", description = text,colour = 0x59f442)
|
||||
await ctx.send(embed = em)
|
||||
else:
|
||||
logThis(f"Looking for help-{content}.txt",str(ctx.message.channel.id))
|
||||
with codecs.open(f"resources/help/help-{content}.txt",encoding="utf-8") as f:
|
||||
text = f.read()
|
||||
em = discord.Embed(title = content.capitalize(), description = text,colour = 0x59f442)
|
||||
await ctx.send(embed = em)
|
||||
|
||||
# Sends the bot's latency
|
||||
@commands.command()
|
||||
async def ping(self, ctx):
|
||||
await ctx.send(f"Pong!\nLatency is {round(self.client.latency * 1000)} ms")
|
||||
|
||||
# Logs whatever is written
|
||||
@commands.command(hidden = True)
|
||||
async def log(self, ctx, *, content):
|
||||
logThis(content,str("Logged by "+ctx.message.author.display_name))
|
||||
|
||||
# Stops the bot
|
||||
@commands.command(hidden = True)
|
||||
async def stop(self, ctx):
|
||||
if "#"+str(ctx.message.author.id) in ["#266269899859427329", "#380732645602230272"]:
|
||||
await ctx.send("Logging out...")
|
||||
|
||||
stopServer()
|
||||
|
||||
await self.client.logout()
|
||||
else:
|
||||
logThis(f"{ctx.message.author.display_name} tried to stop me! (error code 201)",str(ctx.message.channel.id))
|
||||
await ctx.send(f"I don't think I will, {ctx.message.author.display_name} (error code 201)")
|
||||
|
||||
# Sends a friendly message
|
||||
@commands.command(aliases = ["hi","howdy"])
|
||||
async def hello(self, ctx):
|
||||
await ctx.send(helloFunc(ctx.message.author.display_name))
|
||||
|
||||
# Rolls dice
|
||||
@commands.command()
|
||||
async def roll(self, ctx, *, content = "1d20"):
|
||||
await ctx.send(roll_dice(ctx.message.author.display_name,content))
|
||||
|
||||
# Sends an image of the Senkulpa map
|
||||
@commands.command(name="map")
|
||||
async def mapCommand(self, ctx):
|
||||
await ctx.send("https://i.imgur.com/diMXXJs.jpg")
|
||||
|
||||
# Sends a random image
|
||||
@commands.command(aliases = ["img"])
|
||||
async def image(self, ctx):
|
||||
randomImage = imageFunc()
|
||||
await ctx.send(randomImage)
|
||||
|
||||
# Finds a random movie
|
||||
@commands.command()
|
||||
async def movie(self,ctx):
|
||||
async with ctx.typing():
|
||||
title, plot, cover, cast = movieFunc()
|
||||
if title == "error":
|
||||
await ctx.send("An error occurred. Try again (error code "+plot+")")
|
||||
else:
|
||||
try:
|
||||
embed = discord.Embed(title=title, description=plot, color=0x24ec19)
|
||||
embed.set_thumbnail(url=cover)
|
||||
embed.add_field(name="Cast", value=cast,inline = True)
|
||||
await ctx.send(embed = embed)
|
||||
except:
|
||||
logThis("Error embedding (error code 805)")
|
||||
|
||||
# Generates a random name
|
||||
@commands.command()
|
||||
async def name(self, ctx):
|
||||
await ctx.send(nameGen())
|
||||
|
||||
# Generates a random tavern name
|
||||
@commands.command()
|
||||
async def tavern(self, ctx):
|
||||
await ctx.send(tavernGen())
|
||||
|
||||
# Sets the game Gwendolyn's playing
|
||||
@commands.command()
|
||||
async def game(self, ctx, *, content):
|
||||
gamePlaying = cap(content)
|
||||
game = discord.Game(gamePlaying)
|
||||
await self.client.change_presence(activity=game)
|
||||
|
||||
# Finds a page on the Senkulpa wiki
|
||||
@commands.command(aliases = ["wikia"])
|
||||
async def wiki(self, ctx, *, content):
|
||||
async with ctx.message.channel.typing():
|
||||
command = string.capwords(content)
|
||||
title, content, thumbnail = findWikiPage(command)
|
||||
if title != "":
|
||||
logThis("Sending the embedded message",str(ctx.message.channel.id))
|
||||
content += "\n[Læs mere](https://senkulpa.fandom.com/da/wiki/"+title.replace(" ","_")+")"
|
||||
embed = discord.Embed(title = title, description = content, colour=0xDEADBF)
|
||||
if thumbnail != "":
|
||||
embed.set_thumbnail(url=thumbnail)
|
||||
|
||||
await ctx.send(embed = embed)
|
||||
else:
|
||||
await ctx.send(content)
|
||||
|
||||
def setup(client):
|
||||
client.add_cog(MiscCog(client))
|
||||
31
cogs/ReactionCog.py
Normal file
31
cogs/ReactionCog.py
Normal file
@@ -0,0 +1,31 @@
|
||||
import discord
|
||||
from discord.ext import commands
|
||||
|
||||
from funcs import logThis, fiarReactionTest, monopolyReactionTest, emojiToCommand
|
||||
from gameLoops import fiar, runMonopoly
|
||||
|
||||
class ReactionCog(commands.Cog):
|
||||
|
||||
"""Cog for reactions"""
|
||||
|
||||
def __init__(self, client):
|
||||
self.client = client
|
||||
|
||||
@commands.Cog.listener()
|
||||
async def on_reaction_add(self, reaction,user):
|
||||
if user.bot == False:
|
||||
message = reaction.message
|
||||
channel = message.channel
|
||||
logThis(user.display_name+" reacted to a message",str(channel.id))
|
||||
try:
|
||||
fourInARowTheirTurn, piece = fiarReactionTest(channel,message,"#"+str(user.id))
|
||||
except:
|
||||
fourInARowTheirTurn = False
|
||||
|
||||
if fourInARowTheirTurn:
|
||||
place = emojiToCommand(reaction.emoji)
|
||||
await fiar(channel," place "+str(piece)+" "+str(place),user.id)
|
||||
elif monopolyReactionTest(channel,message):
|
||||
await runMonopoly(channel,"roll","#"+str(user.id))
|
||||
def setup(client):
|
||||
client.add_cog(ReactionCog(client))
|
||||
52
cogs/SwCog.py
Normal file
52
cogs/SwCog.py
Normal file
@@ -0,0 +1,52 @@
|
||||
import discord, string
|
||||
from discord.ext import commands
|
||||
|
||||
from funcs import logThis, parseRoll, parseDestiny, critRoll, parseChar, cap
|
||||
|
||||
class SwCog(commands.Cog):
|
||||
|
||||
"""Cog for Star Wars functions"""
|
||||
|
||||
def __init__(self,client):
|
||||
self.client = client
|
||||
|
||||
# Rolls star wars dice
|
||||
@commands.command()
|
||||
async def swroll(self, ctx, *, content):
|
||||
command = cap(content)
|
||||
newMessage = parseRoll("#"+str(ctx.message.author.id),command)
|
||||
messageList = newMessage.split("\n")
|
||||
for messageItem in messageList:
|
||||
await ctx.send(messageItem)
|
||||
|
||||
# Controls destiny points
|
||||
@commands.command()
|
||||
async def swd(self, ctx, *, content):
|
||||
newMessage = parseDestiny("#"+str(ctx.message.author.id),content)
|
||||
messageList = newMessage.split("\n")
|
||||
for messageItem in messageList:
|
||||
await ctx.send(messageItem)
|
||||
|
||||
# Rolls for critical injuries
|
||||
@commands.command()
|
||||
async def swcrit(self, ctx, arg : int = 0):
|
||||
newMessage = critRoll(int(arg))
|
||||
|
||||
messageList = newMessage.split("\n")
|
||||
for messageItem in messageList:
|
||||
await ctx.send(messageItem)
|
||||
|
||||
# Accesses and changes character sheet data with the parseChar function
|
||||
# from funcs/swfuncs/swchar.py
|
||||
@commands.command(aliases=["sw"])
|
||||
async def swchar(self, ctx, *, content = ""):
|
||||
command = string.capwords(content.replace("+","+ ").replace("-","- ").replace(",",", "))
|
||||
title, desc = parseChar("#"+str(ctx.message.author.id),command)
|
||||
if title != "":
|
||||
em1 = discord.Embed(title = title, description = desc, colour=0xDEADBF)
|
||||
await ctx.send(embed = em1)
|
||||
else:
|
||||
await ctx.send(desc)
|
||||
|
||||
def setup(client):
|
||||
client.add_cog(SwCog(client))
|
||||
Reference in New Issue
Block a user