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
fenrir1121
@fenrir1121
Начни с документации
Поставил себе задачу напечатать случайное сообщение при старте программы.
Вот и положите в список сообщения, а не функции или корутины.
А лучше с книг начните, в функции process_start_command буквально каждая строчка кричит о том, что вы вообще не понимаете что пишите.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
SpectrumData Екатеринбург
от 150 000 до 200 000 ₽
Гринатом Москва
от 150 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
15 июн. 2024, в 19:19
10000 руб./за проект
15 июн. 2024, в 17:26
50000 руб./за проект