async def ask(self, ctx, member: discord.Member): user: User = UserDB.get_user(User(ctx.author.id)) lover: User = UserDB.get_user(User(member.id)) def check(m): return m.author == member and m.channel == ctx.channel if user.married: em = await Embeds.already_married(user) await ctx.send(embed=em) elif lover.married: em = await Embeds.is_married(member) await ctx.send(embed=em) else: em = await Embeds.ask_to_marry(ctx.author, member) await ctx.send(embed=em) try: message = await self.bot.wait_for('message', check=check, timeout=300) except asyncio.TimeoutError: await ctx.send( "{}, you did not answer quickly enough, if it is an error, repeat the procedure." .format(member.name), delete_after=5) else: if message.content.lower() == "yes": UserDB.set_lover(user, lover) em = await Embeds.said_yes(ctx.author, member) await ctx.send(embed=em) else: em = await Embeds.said_no(ctx.author, member) await ctx.send(embed=em)
async def divorce(self, ctx): user: User = UserDB.get_user(User(ctx.author.id)) if not user.married: em = await Embeds.is_not_married(ctx.author) await ctx.send(embed=em) else: loverr: User = UserDB.get_user(User(user.lover)) UserDB.unset_lover(user, loverr) lover: discord.User = self.bot.get_user(user.lover) if not lover: return await ctx.send("You're now divorced !") em = await Embeds.divorce(ctx.author, lover) await ctx.send(embed=em)
async def get(self, ctx, member: discord.Member = None): if not member: member: discord.Member = ctx.author user: User = UserDB.get_user(User(member.id)) if user.married: lover: discord.User = self.bot.get_user(user.lover) if lover: em = await Embeds.get_lover(member, lover) await ctx.send(embed=em) else: em = await Embeds.is_married(member) await ctx.send(embed=em) else: em = await Embeds.is_not_married(member) await ctx.send(embed=em)