Interactively adds a custom reaction

async def addreaction(self, ctx, *, reactor=""):
        """Interactively adds a custom reaction"""
        if not reactor:
            await self.bot.say("What should I react to?")
            response = await self.bot.wait_for_message(author=ctx.message.author)
            reactor = response.content

        data = self.config.get(ctx.message.server.id, {})
        keyword = data.get(reactor, {})

        if keyword:
            await self.bot.responses.failure(message="Reaction '{}' already exists.".format(reactor))
            return

        await self.bot.say("Okay, I'll react to '{}'. What do you want me to say? (Type $none for no response)".format(reactor))
        response = await self.bot.wait_for_message(author=ctx.message.author)

        reactions = []
        def check(reaction, user):
            if str(reaction.emoji) != "\U000023f9":
                reactions.append(reaction.emoji)
                return False
            else:
                return user == ctx.message.author

        msg = await self.bot.say("Awesome! Now react to this message any reactions I should have to '{}'. (React \U000023f9 to stop)".format(reactor))
        await self.bot.wait_for_reaction(message=msg, check=check)

        for i, reaction in enumerate(reactions):
            reaction = reaction if isinstance(reaction, str) else reaction.name + ":" + str(reaction.id)
            await self.bot.add_reaction(ctx.message, reaction)
            reactions[i] = reaction

        if response:
            keyword["response"] = response.content if response.content.lower() != "$none" else ""
        keyword["reaction"] = reactions
        data[reactor] = keyword
        await self.config.put(ctx.message.server.id, data)

        await self.bot.responses.success(message="Reaction '{}' has been added.".format(reactor))