async def remove_command(self, ctx, name):
     del self.cmnds[name]
     tools.rw_dict("commands.json", "w+", self.cmnds)
     await ctx.send(f'{name} command deleted!')
 async def add_command(self, ctx, name, *args):
     self.cmnds[name] = " ".join(args)
     tools.rw_dict("commands.json", "w+", self.cmnds)
     await ctx.send(f'{name} command added and saved!')
async def set_stat(ctx, name, stat, number):
    if name.lower() not in stats:
        stats[name.lower()] = dict()
    stats[name.lower()][stat.lower()] = number
    tools.rw_dict("stats.json", "w+", stats)
    await ctx.send(f'{name}\'s {stat} set to {number}')
async def set_roll(ctx, name, r):
    customs[name] = r
    tools.rw_dict("custom_dice.json", "w+", customs)
    await ctx.send("{} set.".format(name))
def main():
    bot.add_cog(
        AddCommands(bot, tools.rw_dict("commands.json", "r", create=True)))
    bot.add_cog(Music(bot))
    bot.add_cog(FalloutCombat(bot, "FNT"))
    bot.run(os.getenv('DISCORD_TOKEN'))
import os
import random
from Cards import Cards
from dotenv import load_dotenv
from discord.ext import commands
from AddCommands import AddCommands
from FalloutCombat import FalloutCombat
from RadioBot import Music
import logging

logger = logging.getLogger('discord')
logger.setLevel(logging.ERROR)
load_dotenv()
bot = commands.Bot(command_prefix='!')

customs = tools.rw_dict("custom_dice.json", "r", create=True)
stats = tools.rw_dict("stats.json", "r", create=True)

deck = Cards()


def main():
    bot.add_cog(
        AddCommands(bot, tools.rw_dict("commands.json", "r", create=True)))
    bot.add_cog(Music(bot))
    bot.add_cog(FalloutCombat(bot, "FNT"))
    bot.run(os.getenv('DISCORD_TOKEN'))


@bot.command(name='roll', help='Rolls dice.')
async def roll(ctx, dice):