async def automessage_edit_message(self, context, automessage_id: int, message: str): automessages_data = zbot.db.load_automessages({'automessage_id': automessage_id}, ['_id']) if not automessages_data: raise exceptions.UnknownAutomessage(automessage_id) document_id = automessages_data[0]['_id'] zbot.db.update_automessages({document_id: {'message': message}}) await context.send(f"Contenu du message automatique d'identifiant {automessage_id} changé en : `{message}`.")
async def automessage_print(self, context, automessage_id: int, *, options=""): automessages_data = zbot.db.load_automessages({'automessage_id': automessage_id}, ['message']) if not automessages_data: raise exceptions.UnknownAutomessage(automessage_id) raw_text = utils.is_option_enabled(options, 'raw') message = automessages_data[0]['message'] await context.send(message if not raw_text else f"`{message}`")
async def automessage_edit_channel(self, context, automessage_id: int, channel: discord.TextChannel): automessages_data = zbot.db.load_automessages({'automessage_id': automessage_id}, ['_id']) if not automessages_data: raise exceptions.UnknownAutomessage(automessage_id) if not context.author.permissions_in(channel).send_messages: raise exceptions.ForbiddenChannel(channel) document_id = automessages_data[0]['_id'] zbot.db.update_automessages({document_id: {'channel_id': channel.id}}) await context.send(f"Message automatique d'identifiant {automessage_id} lié au canal {channel.mention}.")
async def automessage_remove(self, context, automessage_id: int): automessages_data = zbot.db.load_automessages({}, ['_id', 'automessage_id']) automessage_data = [data for data in automessages_data if data['automessage_id'] == automessage_id] if not automessage_data: raise exceptions.UnknownAutomessage(automessage_id) document_id = automessage_data[0]['_id'] # Backup before overwrite automessages_update_data = {} for automessage_data in automessages_data: if automessage_data['automessage_id'] > automessage_id: automessages_update_data[automessage_data['_id']] = { 'automessage_id': automessage_data['automessage_id'] - 1 } zbot.db.update_automessages(automessages_update_data) zbot.db.delete_automessage(document_id) await context.send(f"Message automatique d'identifiant `{automessage_id}` supprimé.")