def __init__(self): self.prefix = config.PREFIX # Load database self.db = Database() self.db.create_tables() self.db.load_data() super().__init__(command_prefix=self.get_prefix, description=config.DESCRIPTION, pm_help=None)
def __init__(self): self.config = dataIO.load_json("data/chappie/config.json") self.db = Database(database=self.config["DATABASE"], user=self.config["DATABASE_USER"], password=self.config["DATABASE_PASSWORD"], host=self.config["DATABASE_HOST"], port=self.config["DATABASE_PORT"]) super().__init__(command_prefix="!", description=description, shard_id=0, status=discord.Status.dnd, activity=discord.Game(name="with humans"), fetch_offline_members=False, help_attrs=dict(hidden=True)) self.session = aiohttp.ClientSession(loop=self.loop) self.uptime = datetime.datetime.utcnow() for extension in initial_extensions: try: self.load_extension(extension) except Exception as e: print(f'Failed to load extension {extension}.', file=sys.stderr) traceback.print_exc()
def __init__(self): self.config = dataIO.load_json("data/chappie/config.json") self.db = Database(database=self.config["DATABASE"], user=self.config["DATABASE_USER"], password=self.config["DATABASE_PASSWORD"], host=self.config["DATABASE_HOST"], port=self.config["DATABASE_PORT"]) super().__init__(client_id=self.config["REDDIT_CLIENT_ID"], client_secret=self.config["REDDIT_CLIENT_SECRET"], password=self.config["REDDIT_PASSWORD"], user_agent=self.config["REDDIT_USER_AGENT"], username=self.config["REDDIT_USERNAME"])
def __init__(self, bot): """ I would put all the channel IDs into a dict for their respective attrs and IDs but I don't feel like dealing with instance errors """ self.bot = bot self.pagination_amt = 5 self.scrape_channel = self.get_channel('scrape_channel') self.kenneled_role = self.get_channel('kenneled_role') self.muted_role = self.get_channel('muted_role') self.log_channel = self.get_channel('log_channel') self.error_channel = self.get_channel('error_channel') self.kennel_channel = self.get_channel('kennel_channel') self.joins_channel = self.get_channel('joins_channel') self.starboard_channel = self.get_channel('starboard_channel') self.ban_channel = self.get_channel('ban_channel') self.unban_channel = self.get_channel('unban_channel') self.db = Database('./dbs/moderator.db')
def __init__(self, bot): self.bot = bot self.database = Database() self.dataIO = DataIO()
import time from configparser import * from discord.ext import commands, timers from loguru import logger from cogs.utils.checks import is_bot_owner_check from cogs.utils.database import Database #initiate logger test logger.add(f"file_{str(time.strftime('%Y%m%d-%H%M%S'))}.log", rotation="500 MB") auth = ConfigParser() auth.read('auth.ini') # All my usernames and passwords for the api database = Database(path='cogs/peribot.db') def load_cogs(folder): os.chdir(folder) files = [] for file in glob.glob("*.py"): file = re.search('^([A-Za-z1-9]{1,})(?:.py)$', file).group(1) files.append(file) return files def config(): with open('config.json', 'r') as f: config = json.load(f) return config
class FactorioQuizBot(commands.Bot): def __init__(self): self.prefix = config.PREFIX # Load database self.db = Database() self.db.create_tables() self.db.load_data() super().__init__(command_prefix=self.get_prefix, description=config.DESCRIPTION, pm_help=None) async def get_prefix(self, message): prefixes = set() if isinstance(message.channel, discord.abc.PrivateChannel): prefixes.add(self.prefix) return commands.when_mentioned_or(*prefixes)(bot, message) guild_config = next(cfg for cfg in self.db.configs if cfg["guild_id"] == message.guild.id) prefixes.add(guild_config["prefix"]) return commands.when_mentioned_or(*prefixes)(bot, message) def create_config_guild(self, guild): for cfg in self.db.configs: if guild.id == cfg["guild_id"]: break else: # guild not found in database, then create config new_config = self.db.create_config(guild.id, config.PREFIX, config.LANGUAGE, config.DELETE_MESSAGES) self.db.configs.append(new_config) self.db.add_new_config(new_config) def create_score(self, guild, member): if member.bot: return for scr in self.db.scores: if guild.id == scr["guild_id"] and member.id == scr["user_id"]: break else: # score not found in database, then create score new_score = self.db.create_score(guild.id, member.id, 0) self.db.scores.append(new_score) self.db.save_score(new_score) async def on_ready(self): """Event called when the bot is ready""" # Check if guilds were added while offline for guild in self.guilds: self.create_config_guild(guild) # Check if members were added while offline for guild in self.guilds: for member in guild.members: self.create_score(guild, member) try: for g in self.guilds: guild_config = next(cfg for cfg in self.db.configs if cfg["guild_id"] == g.id) bot_member = g.get_member(config.BOT_ID) if bot_member is None: logger.warning(f'Cannot find FactorioBot in member list of guild {g.name}') else: await bot_member.edit(nick=f'[{guild_config["prefix"]}] FactorioBot', reason="FactorioBot's prefix has changed") except Forbidden as forbidError: print(forbidError) # Load cogs self.remove_command("help") for cog in initial_cogs: try: self.load_extension(cog) logger.info(f'{cog} successfully loaded.') except Exception as e: logger.error(f'Failed to load extension {cog}.', e) async def on_guild_join(self, guild): """Event called when client join a guild or client create a new guild""" # Create new config self.create_config_guild(guild) # Add score to each member for member in guild.members: self.create_score(guild, member) async def on_guild_remove(self, guild): """Event called when guild is removed from client""" # Remove score from each member self.db.scores = [scr for scr in self.db.scores if guild.id != scr["guild_id"]] for member in guild.members: self.db.delete_score(guild.id, member.id) # Remove config self.db.configs = [cfg for cfg in self.db.configs if guild.id != cfg["guild_id"]] self.db.delete_config(guild.id) # Remove faq self.db.faqs = [faq for faq in self.db.faqs if guild.id != faq["guild_id"]] self.db.delete_faq(guild.id) async def on_member_join(self, member): """Event called when a member joins a guild.""" # Add score self.create_score(member.guild, member) async def on_member_remove(self, member): """Event called when a member leave a guild.""" # Remove score self.db.scores = [scr for scr in self.db.scores if member.guild.id != scr["guild_id"] and member.id == scr["user_id"]] self.db.delete_score(member.guild.id, member.id)
def __init__(self, bot): self.bot = bot self.database = Database() self.session = aiohttp.ClientSession()
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.client_session = None self.DB = Database()
def __init__(self, bot): super().__init__(bot) self.bot = bot self.db = Database('./dbs/reminders.db') self.check_reminders.start()