• Disnake.py, как сделать передачу денег другому участнику?

    gnifajio
    @gnifajio
    Совершенствуюсь каждый день
    Вот примерный код команды для Discord бота на Python с использованием Disnake:

    import sqlite3
    
    from disnake import Command, Member
    
    # Определяем команду для перевода суммы другому участнику
    @Command("transfer", description="Перевод суммы другому участнику")
    async def transfer(member: Member, target: Member, amount: int):
        # Подключаемся к локальной базе данных sqlite
        conn = sqlite3.connect("database.db")
        cursor = conn.cursor()
    
        # Проверяем, хватает ли у текущего пользователя суммы для перевода
        cursor.execute(f"SELECT balance FROM users WHERE id = {member.id}")
        balance = cursor.fetchone()[0]
        if balance < amount:
            await member.send("У вас недостаточно средств для перевода")
            return
    
        # Снимаем сумму с аккаунта текущего пользователя
        cursor.execute(f"UPDATE users SET balance = balance - {amount} WHERE id = {member.id}")
        conn.commit()
    
        # Начисляем указанную сумму на аккаунт другого пользователя
        cursor.execute(f"UPDATE users SET balance = balance + {amount} WHERE id = {target.id}")
        conn.commit()
    
        await member.send(f"Сумма {amount} была переведена на аккаунт {target.name}")
    Ответ написан
    2 комментария