Как сделать комиссию при переводе денег другому пользователю MongoDB
Здравствуйте меня интересует вопрос как можно сделать комиссию при переводе денег другому пользователю на баланс с использованием базы-данных MongoDB?
Вот код куда я бы хотел вставить комиссию при переводе:
@commands.command(aliases = ['перевести'])
async def pay(self, ctx, member: discord.Member, amount: int):
if self.collection.find_one({'guild_id': ctx.guild.id, "user_id": ctx.author.id})["balance"] < amount:
await ctx.send(embed = discord.Embed(description = f"__{ctx.author}__, у вас не достаточно средств"))
else:
if amount is None:
await ctx.send(f"**{ctx.author}**, укажите сумму, которую желаете начислить на счет пользователя")
elif amount < 1:
await ctx.send(f"**{ctx.author}**, укажите сумму больше 1 <:emoji_71:880899034750013513>")
else:
await ctx.send(embed = discord.Embed(title = "**Передача средств**", description = f"**?Отправитель:**{ctx.author}\n?**Получатель:**{member}\n——————————\n**Сумма: {amount}**"))
self.collection.update_one({'guild_id': ctx.guild.id, "user_id": ctx.author.id}, {"$inc": {"balance": -amount}})
self.collection.update_one({'guild_id': ctx.guild.id, "user_id": member.id}, {"$inc": {"balance": +amount}})
await ctx.add_reaction('✅')
```
Ответы (1 шт):
Автор решения: RAINGM
→ Ссылка
Не работал с данной дб, но вам надо в апдейте денег автора сделать не - amount, а - (amount + комиссия)
@commands.command(aliases = ['перевести'])
async def pay(self, ctx, member: discord.Member, amount: int):
if self.collection.find_one({'guild_id': ctx.guild.id, "user_id": ctx.author.id})["balance"] < amount:
await ctx.send(embed = discord.Embed(description = f"__{ctx.author}__, у вас не достаточно средств"))
else:
if amount is None:
await ctx.send(f"**{ctx.author}**, укажите сумму, которую желаете начислить на счет пользователя")
elif amount < 1:
await ctx.send(f"**{ctx.author}**, укажите сумму больше 1 <:emoji_71:880899034750013513>")
else:
await ctx.send(embed = discord.Embed(title = "**Передача средств**", description = f"**?Отправитель:**{ctx.author}\n?**Получатель:**{member}\n——————————\n**Сумма: {amount}**"))
self.collection.update_one({'guild_id': ctx.guild.id, "user_id": ctx.author.id}, {"$inc": {"balance": -(amount + service_fee)}})
self.collection.update_one({'guild_id': ctx.guild.id, "user_id": member.id}, {"$inc": {"balance": +amount}})
await ctx.add_reaction('✅')