@denper55

Как исправить ошибку в коде для телеграмм бота?

Выползает ошибка, прочитал кучи документации никак не могу понять в чем её суть. Бота в библиотеке aiogram впервые!
вот ошибка
Traceback (most recent call last):
File "c:\Python\telegrammBot\handlers\__init__.py", line 1, in
from . import personal_actions
ImportError: attempted relative import with no known parent package
вот код
from . import personal_actions
папка personal_actions код
from aiogram import types
from dispatcher import dp
import config
import re
from bot import BotDB

@dp.message_handler(commands = "start")
async def start(message: types.Message):
if(not BotDB.user_exists(message.from_user.id)):
BotDB.add_user(message.from_user.id)

await message.bot.send_message(message.from_user.id, "Добро пожаловать!")

@dp.message_handler(commands = ("spent", "earned", "s", "e"), commands_prefix = "/!")
async def start(message: types.Message):
cmd_variants = (('/spent', '/s', '!spent', '!s'), ('/earned', '/e', '!earned', '!e'))
operation = '-' if message.text.startswith(cmd_variants[0]) else '+'

value = message.text
for i in cmd_variants:
for j in i:
value = value.replace(j, '').strip()

if(len(value)):
x = re.findall(r"\d+(?:.\d+)?", value)
if(len(x)):
value = float(x[0].replace(',', '.'))

BotDB.add_record(message.from_user.id, operation, value)

if(operation == '-'):
await message.reply("✅ Запись о расходе успешно внесена!")
else:
await message.reply("✅ Запись о доходе успешно внесена!")
else:
await message.reply("Не удалось определить сумму!")
else:
await message.reply("Не введена сумма!")

@dp.message_handler(commands = ("history", "h"), commands_prefix = "/!")
async def start(message: types.Message):
cmd_variants = ('/history', '/h', '!history', '!h')
within_als = {
"day": ('today', 'day', 'сегодня', 'день'),
"month": ('month', 'месяц'),
"year": ('year', 'год'),
}

cmd = message.text
for r in cmd_variants:
cmd = cmd.replace(r, '').strip()

within = 'day'
if(len(cmd)):
for k in within_als:
for als in within_als[k]:
if(als == cmd):
within = k

records = BotDB.get_records(message.from_user.id, within)

if(len(records)):
answer = f" История операций за {within_als[within][-1]}\n\n"

for r in records:
answer += "" + ("➖ Расход" if not r[2] else "➕ Доход") + ""
answer += f" - {r[3]}"
answer += f" ({r[4]})\n"

await message.reply(answer)
else:
await message.reply("Записей не обнаружено!")
Суть программы это подключение к бд и внесение неё записей через телеграмм бот о доходах, расходах и истории за определенный период. До этого просто пользовался библиотекой telebot и достаточно плохо знаю aiogram.
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
29 нояб. 2024, в 10:38
5000 руб./за проект
29 нояб. 2024, в 10:27
100000 руб./за проект
29 нояб. 2024, в 09:43
100000 руб./за проект