async def conquer_grey(self, ctx): conquer = self.get_conquer_data(ctx) conquer['bb'] = False if conquer['bb'] else True self.config.save() state_str = "aktiv" if not conquer['bb'] else "inaktiv" msg = f"Der Filter für Barbarendörfer ist nun {state_str}" await ctx.send(embed=complete_embed(msg))
async def conquer_clear(self, ctx): conquer = self.get_conquer_data(ctx) conquer['tribe'].clear() conquer['player'].clear() self.config.save() msg = "Der Filter wurde zurückgesetzt" await ctx.send(embed=complete_embed(msg))
async def set_game(self, ctx): cur = self.config.get('game', ctx.guild.id) if cur == ctx.channel.id: msg = "Der aktuelle Channel ist bereits eingespeichert" await ctx.send(embed=error_embed(msg)) else: self.config.update('game', ctx.channel.id, ctx.guild.id) msg = f"{ctx.channel.mention} ist nun der aktive Game-Channel" await ctx.send(embed=complete_embed(msg))
async def game_(self, ctx): for game, caches in self.games.items(): cog = self.bot.get_cog(game) for cache_name in caches: cache = getattr(cog, cache_name) cache.pop(ctx.guild.id, None) msg = "Alle Spiele wurden zurückgesetzt" await ctx.send(embed=utils.complete_embed(msg))
async def switch_list(self, ctx): listed = [] for key, value in self.converter_title.items(): state = self.bot.config.get_switch(key, ctx.guild.id) represent = "aktiv" if state else "inaktiv" listed.append(f"**{value} ({key}):** `{represent}`") embed = complete_embed("\n".join(listed)) await ctx.send(embed=embed)
async def set_world(self, ctx, world: WorldConverter): old_world = self.config.get_related_world(ctx.guild) if world == old_world: msg = f"Der Server ist bereits mit {world} verbunden" await ctx.send(embed=error_embed(msg)) else: self.config.update('world', world.server, ctx.guild.id) msg = f"Der Server ist nun mit {world} verbunden" await ctx.send(embed=complete_embed(msg))
async def set_prefix(self, ctx, prefix): current_prefix = self.config.get_prefix(ctx.guild.id) if current_prefix == prefix: msg = "`{}` ist bereits der aktuelle Prefix dieses Servers" await ctx.send(embed=error_embed(msg.format(prefix))) else: self.config.update('prefix', prefix, ctx.guild.id) msg = f"Der Prefix `{prefix}` ist nun aktiv" await ctx.send(embed=complete_embed(msg))
async def switch(self, ctx, key): key = key.lower() name = self.converter_title.get(key) if name is None: raise MissingRequiredKey(self.converter_title) new_value = self.bot.config.update_switch(key, ctx.guild.id) state = "aktiv" if new_value else "inaktiv" msg = f"Die Konvertierung der `{name}` ist nun **{state}**" await ctx.send(embed=complete_embed(msg))
async def conquer_remove(self, ctx, *, dsobj: DSConverter): conquer = self.get_conquer_data(ctx) if dsobj.id not in conquer[dsobj.type]: msg = "Der Stamm ist nicht eingespeichert" await ctx.send(embed=error_embed(msg)) else: conquer[dsobj.type].remove(dsobj.id) self.config.save() msg = f"`{dsobj}` wurde entfernt" await ctx.send(embed=complete_embed(msg))
async def conquer_add(self, ctx, *, dsobj: DSConverter): conquer = self.get_conquer_data(ctx) if dsobj.id in conquer[dsobj.type]: msg = "Der Stamm ist bereits eingespeichert" await ctx.send(embed=error_embed(msg)) else: conquer[dsobj.type].append(dsobj.id) self.config.save() msg = f"`{dsobj}` wurde hinzugefügt" await ctx.send(embed=complete_embed(msg))
async def remove_conquer(self, ctx): channels = self.config.get('conquer', ctx.guild.id) if str(ctx.channel.id) in channels: channels.pop(str(ctx.channel.id)) self.config.save() msg = f"{ctx.channel.mention} ist kein Eroberungschannel mehr" await ctx.send(embed=complete_embed(msg)) else: msg = "Dieser Channel ist nicht eingespeichert" await ctx.send(embed=error_embed(msg))
async def remove_(self, ctx, reminder_id: int): query = 'DELETE FROM reminder WHERE author_id = $1 AND id = $2' async with self.bot.ress.acquire() as conn: response = await conn.execute(query, ctx.author.id, reminder_id) if response == "DELETE 0": msg = "Du hast keinen Reminder mit der angegebenen ID" return await ctx.send(embed=utils.error_embed(msg)) if self.current_reminder and self.current_reminder.id == reminder_id: self.restart() await ctx.send( embed=utils.complete_embed("Der Reminder wurde gelöscht"))
async def remove(self, ctx, entry): entry = entry.lower() config_entry = self.config_title.get(entry) if config_entry is None: raise MissingRequiredKey(self.config_title) done = self.config.remove(entry.lower(), ctx.guild.id) if not done: msg = f"Der Server hat keinen zugewiesenen **{config_entry}**" await ctx.send(embed=error_embed(msg)) else: msg = f"**{config_entry}** erfolgreich gelöscht" await ctx.send(embed=complete_embed(msg))
async def set_conquer(self, ctx): channels = self.config.get('conquer', ctx.guild.id, default={}) if str(ctx.channel.id) in channels: msg = "Der aktuelle Channel ist bereits eingespeichert" await ctx.send(embed=error_embed(msg)) elif len(channels) >= 2: msg = "Momentan sind nur 2 Eroberungschannel möglich" await ctx.send(embed=error_embed(msg)) else: channels[str(ctx.channel.id)] = {'bb': False, 'tribe': [], 'player': []} self.config.update('conquer', channels, ctx.guild.id) msg = f"{ctx.channel.mention} ist nun ein Eroberungschannel" await ctx.send(embed=complete_embed(msg))
async def clear_(self, ctx): query = 'DELETE FROM reminder WHERE author_id = $1 RETURNING id' async with self.bot.ress.acquire() as conn: deleted_rows = await conn.fetch(query, ctx.author.id) if not deleted_rows: msg = "Du hast keine aktiven Reminder" return await ctx.send(embed=utils.error_embed(msg)) if self.current_reminder: old_ids = [rec['id'] for rec in deleted_rows] if self.current_reminder.id in old_ids: self.restart() msg = f"Alle deine Reminder wurden gelöscht ({len(deleted_rows)})" await ctx.send(embed=utils.complete_embed(msg))
async def remove_channel_world(self, ctx): config = self.config.get('channel', ctx.guild.id) if config: world = config.get(str(ctx.channel.id)) state = bool(world) else: state = False if state is False: msg = "Dieser Channel hat keine eigene Welt" await ctx.send(embed=error_embed(msg)) else: config.pop(str(ctx.channel.id)) self.config.save() msg = "Die Channel-Welt wurde gelöscht" await ctx.send(embed=complete_embed(msg))
async def set_channelworld(self, ctx, world: WorldConverter): config = self.config.get('channel', ctx.guild.id) if config is None: config = {str(ctx.channel.id): world.server} self.config.update('channel', config, ctx.guild.id) else: old_world = config.get(str(ctx.channel.id)) if old_world == world: msg = f"Dieser Channel ist bereits mit {world} verbunden" await ctx.send(embed=error_embed(msg)) return else: config[str(ctx.channel.id)] = world.server self.config.save() msg = f"Der Channel ist nun mit {world} verbunden" await ctx.send(embed=complete_embed(msg))
async def world_(self, ctx): world = self.bot.config.get_related_world(ctx.channel) relation = "Channel" if world == ctx.server else "Server" embed = utils.complete_embed(f"{ctx.world} [{relation}]") await ctx.send(embed=embed)
async def config_(self, ctx): self.bot.config.remove_config(ctx.guild.id) msg = "Die Servereinstellungen wurden zurückgesetzt" await ctx.send(embed=utils.complete_embed(msg))
async def conquer_(self, ctx): self.bot.config.update('conquer', {}, ctx.guild.id) msg = "Die Conquereinstellungen wurden zurückgesetzt" await ctx.send(embed=utils.complete_embed(msg))