Telethon zaman uyumsuz bir şekilde listedeki iletileri gönderme

0

Soru

Bozuk ingilizce için özür dilerim...

Yani, temel olarak, mesajları ve kaderlerini içeren bir listem var:

messages = [(id_1, msg_1), (id_2, msg_2), (id_3, msg_3),]

İstediğim bir kullanmaktır : async for msg in messages ancak, listem açıkça eşzamansız olarak yinelenebilir değil (sqlite3 kullanıyorum) eşzamansız olarak yinelenebilir bir listeye nasıl dönüştürebilirim?

1

En iyi cevabı

0

Uyumsuz iterable listeleri "yok". Sadece normal olarak yineleyebilirsiniz:

for (id, msg) in messages:
    # do things...

Gerçekten bir "eşzamansız yinelenebilir liste" ye ihtiyacınız varsa, bu şekilde sarabilirsiniz, ancak bunun muhtemelen çok gereksiz olduğunu unutmayın (ve aynı zamanda yeni bir Python sürümü gerektirir):

async def make_async_iter(lst):
    for item in lst:
        yield item

...

async for item in make_async_list(messages):
    # use item...
2021-11-23 18:48:47

1-Teşekkürler! 2 - Bir kullanıyorum: @client.on(events.NewMessage) bu yüzden göndermek ve aynı zamanda mesaj alabilir miyim, ama birbirimizi engellemek değil onlara yani her şey çalışmamaya dont yapmaya çalışıyorum. 3-Örneklere daha iyi bakacağımı düşünüyorum.
Joao Pedro Lourenco Affonso

Varsayılan olarak, yeni bir asyncio her güncelleme için görev oluşturulur, böylece birbirlerini engellemezler. Yalnızca engelleme yöntemlerini kullanırsanız sorun oluşur (örn. time.sleep yerine asyncio.sleep).
Lonami

Ahh, çok teşekkür ederim! Sorunu daha önce önerdiğiniz gibi çözdüm, ama bu hala yararlı!
Joao Pedro Lourenco Affonso

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................