LIREN
@LIREN
Пунктумофоб

Где ошибка в выполнении команды?

spoiler
import asyncio
import discord, json
from discord.ext import commands
import pycommands.roles as roles

intents = discord.Intents.all()
client = commands.Bot(
    command_prefix = "!", 
    intents = intents
)
client.remove_command('help')

# Ядро экономики
async def open_account(self, user):
    users = await get_bank_data()
    if str(user.id) in users:
        return False
    else:
        users[str(user.id)] = {}
        users[str(user.id)]["wallet"] = 10
    with open('mainbank.json', "w") as f:
        json.dump(users,f)
    return True
async def get_bank_data():
    with open('mainbank.json', "r") as f:
        users = json.load(f)
    return users
async def update_bank(user,change = 0, mode = "wallet"):
    users = await get_bank_data()
    users[str(users.id)][mode] += change
    with open('mainbank.json', "w") as f:
        json.dump(users,f)
    bal = [users[str(user.id)]["wallet"]]
    return bal

class Collect_Income(commands.Cog):
    def __init__(self, client):
        self.client = client
# # #   # # #

    @commands.Cog.listener()
    async def on_ready(self):
        print(
            f"""- Команда collect-income загружена."""
        )

    @commands.command(aliases = ["тест"])
    async def test(self, ctx):
        users = await get_bank_data()
        user = ctx.author
        wallet_amt = users[str(user.id)]["wallet"]

        embed = discord.Embed(
            title = f"Зарплата для {user.name}:",
            colour = 0xFF0000
        )

        # Барыга
        if discord.utils.find(lambda r: r.name == f"{roles.BARIGA_NAME}", ctx.message.guild.roles) in user.roles:
            earnings = 150
            # await open_account(self, user)
            # wallet_amt += earnings
            # with open('mainbank.json', "w") as f:
            #     json.dump(users, f)
            embed.add_field(
                name = 
                    f"""
                    **Барыга**:""",
                value = 
                    f"""
                    - Собрано **{earnings}**!"""
            )
        await ctx.send(embed = embed)


# # #   # # #
def setup(client):
    client.add_cog(Collect_Income(client))

  • Вопрос задан
  • 237 просмотров
Решения вопроса 1
LIREN
@LIREN Автор вопроса
Пунктумофоб
оказывается в файле bank.json было поменято содержимое на содержимое из другого файла... Каким образом???
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@BiStudiOfficial
Python разработчик, работаю с aiogram. Unity C#
async def get_bank_data():
ты его вызываешь, до того как он объявлен
то есть эту функцию надо перенести на верх
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы