Задать вопрос
@zwwwwwwwwwww

Что надо сделать, чтобы импорт был удачный?

Недавно стал изучать аиограм, написал кнопки и теперь не могу их импортировать.

button:

from aiogram.types import ReplyKeyboardMarkup as RKM, KeyboardButton as KB , Message, ReplyKeyboardRemove as RKR
from loader import dp
from aiogram.dispatcher.filters import Command, Text


menu = RKM(
    keyboard=[
    [
        KB(text='Котлетки')
    ],
    [
        KB(text='Макарошки'),
        KB(text='Пюрешка')
    ],
    ],
    resize_keyboard=True
)

@dp.message_handler(Command('menu'))
async def show_menu(message:Message):
    await message.answer('Выберите товар из меню ниже', reply_markup=menu)


@dp.message_handler(Text(equals=['Котлетки', 'Макарошки', 'Пюрешка']))
async def get_food(message:Message):
    await message.answer(f'Вы выбрали {message.text}. Спасибо!')
reply_markup=RKR()

handlers:

from main import bot, dp

from aiogram.types import Message
from bot.config import admin_id
from bot.button.text import text_button
async def send_to_admin(dp):
    await bot.send_message(chat_id=admin_id, text='Бот запущен')


@dp.message_handler()
async def echo(message: Message):
    text = f'Привет, ты написал: {message.text}'
    #await bot.send_message(chat_id=message.from_user.id, text=text)

main:

import asyncio

from aiogram import Bot, Dispatcher, executor
from config import BOT_TOKEN


loop = asyncio.get_event_loop()
bot = Bot(BOT_TOKEN, parse_mode='html')
dp = Dispatcher(bot, loop=loop)

if __name__ == '__main__':
    from handlers import dp, send_to_admin, text
    executor.start_polling(dp, on_startup=send_to_admin)

Кнопки (text_button) находятся в подпапке text, а main и handlers в папке bot. В bot как раз находится подпапка text. Может есть какие-то способы облегчить код?
  • Вопрос задан
  • 533 просмотра
Подписаться 1 Простой 5 комментариев
Решения вопроса 1
@PavelMos
Загружаемые модули должны быть видимы из скрипта.
Можно подключить папки
import sys
sys.path.insert(0,'C:\\py\\mymodules')

и после этого можно будет
import myfile
или же указывать путь
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
SpectrumData Екатеринбург
от 200 000 до 300 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
18 янв. 2025, в 03:12
1000 руб./за проект
18 янв. 2025, в 00:01
500 руб./за проект
17 янв. 2025, в 23:56
10000 руб./за проект