@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. Может есть какие-то способы облегчить код?
  • Вопрос задан
  • 531 просмотр
Решения вопроса 1
@PavelMos
Загружаемые модули должны быть видимы из скрипта.
Можно подключить папки
import sys
sys.path.insert(0,'C:\\py\\mymodules')

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

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

Похожие вопросы