import discord from random import randint def roll_logic(sides): return randint(1, sides) def roll(number_of_die, sides, number_to_add=None): results = list(tuple(roll_logic(int(sides)) for _ in range(int(number_of_die)))) # blue embed_color = 3447003 if sum(results) == 1: # Red embed_color = 15158332 if sum(results) >= 10: # Green embed_color = 3066993 if sum(results) >= 15: # Gold embed_color = 15844367 embed = discord.Embed(description=None, color=embed_color, type="rich") embed.set_author(name="Rolling %s %s sided die" % (number_of_die, sides)) embed.add_field(name='Rolls', value=results, inline=False) if number_to_add: embed.add_field(name="**Total**", value=":game_die: %s+%s = %s" % (sum(results), number_to_add, (sum(results) + number_to_add)), inline=False) else: embed.add_field(name="**Total**", value=":game_die: %s" % sum(results), inline=False) return embed def parse_message(message): message = ' '.join(message.split()[1:]) if '+' in message: try: number_to_add = int(message.split('+')[-1]) return roll(message.split('d')[0], message.split('d')[1].split('+')[0], number_to_add) except ValueError: return "Could not add that number to the total roll" return roll(message.split('d')[0], message.split('d')[1])