Имеется рабочий скрипт test.py, итогом его работы будет список list1 (сейчас я просто максимально убрал всё лишнее, оставив лишь структуру скрипта). Решил написать телеграм-бота под него, где хотел бы распечатывать этот список, но не могу понять, как интегрировать скрипт в бота. Понимаю, что можно просто написать код скрипта в обработчике, но там такая простыня получится.
test.py
import asyncio import aiohttp from aiohttp_proxy import ProxyConnector urls = {'url1':'https://', 'url2':'https://'} url = urls[input("Введите url: ")] x = float(input("Введите число: ")) list1 = [] async def func1(a): pass async def func2(b): pass list1.append(c) async def main(): async with aiohttp.ClientSession() as session: await asyncio.gather(func1(url)) await func2(x) asyncio.get_event_loop().run_until_complete(main())
bot.py
bot = Bot(token="токен", parse_mode="MarkdownV2") dp = Dispatcher() @dp.message(Command("start")) async def cmd_start(message: types.Message): kb = [ [ types.KeyboardButton(text="Кнопка 1"), types.KeyboardButton(text="Кнопка 2"), types.KeyboardButton(text="Кнопка 3"), ], ] keyboard = types.ReplyKeyboardMarkup(keyboard=kb, resize_keyboard=True) await message.answer("Запустить скрипт № ", reply_markup=keyboard) @dp.message(F.text.lower() == "кнопка 1") async def fv(message: types.Message): await message.answer("Вместо сообщения хотелось бы запустить код из test.py") async def main(): await dp.start_polling(bot)