Задать вопрос
kavermoki
@kavermoki
junior

Как вызвать случайную asyn функцию в asyn функции?

Здравствуйте! Поставил себе задачу напечатать случайное сообщение при старте программы.
Написал следующее:

import random
import russ

@dp.message_handler(commands=['start'])
async def process_start_command(message: types.Message):
    async def x():
        if True:
            f = [russ.ran1, russ.ran2, russ.ran3]
            y = random.choice(f)
            y()
        await y(message)
    await message.answer(f"{x}")


файл russ:
from aiogram import types

async def ran1(message: types.Message):
    await message.answer('какое то сообщение №1')

async def ran2(message: types.Message):
    await message.answer('какое то сообщение №2')

async def ran3(message: types.Message):
    await message.answer('какое то сообщение №3')


печатает следующее:
<function process_start_command.<locals>.x at 0x00********>


Я так понимаю, что я не вызвал функцию X, а как её вызвать?
  • Вопрос задан
  • 101 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
fenrir1121
@fenrir1121
Начни с документации
Поставил себе задачу напечатать случайное сообщение при старте программы.
Вот и положите в список сообщения, а не функции или корутины.
А лучше с книг начните, в функции process_start_command буквально каждая строчка кричит о том, что вы вообще не понимаете что пишите.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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