telethon, async
from telethon import TelegramClient
import time
api_id = 123123
api_hash = '123123123'
client = TelegramClient('session_name', api_id, api_hash)
@client.on(events.NewMessage(chats=('https://t.me/chat')))
async def normal_handler(event):
a = event.message.to_dict()
b = a['message'].lower()
async def tme():
if time.time()%10 == 0:
print(time.time())
with client:
client.loop.run_until_complete(tme())
client.start()
client.run_until_disconnected()
Здравствуйте, как сделать так, чтобы ф-ция tme работала постоянно, а не вызывалась 1 раз. Первая программа с async. Заранее спасибо
Ответы (2 шт):
Автор решения: dudha369
→ Ссылка
Я конечно с telethon не работал, но в теоре вот так должно работать..
from telethon import TelegramClient
import time
api_id = 123123
api_hash = '123123123'
client = TelegramClient('session_name', api_id, api_hash)
@client.on(events.NewMessage(chats=('https://t.me/chat')))
async def normal_handler(event):
a = event.message.to_dict()
b = a['message'].lower()
async def tme():
if time.time()%10 == 0:
print(time.time())
with client:
while True:
client.loop.run_until_complete(tme())
client.start()
client.run_until_disconnected()
Если первый вариант не будет работать то попробуйте этот:
from telethon import TelegramClient
import time
api_id = 123123
api_hash = '123123123'
client = TelegramClient('session_name', api_id, api_hash)
@client.on(events.NewMessage(chats=('https://t.me/chat')))
async def normal_handler(event):
a = event.message.to_dict()
b = a['message'].lower()
async def tme():
if time.time()%10 == 0:
print(time.time())
with client:
while True:
client.loop.run_until_complete(tme())
client.start()
client.run_until_disconnected()
Автор решения: Азат
→ Ссылка
if __name__ == '__main__':
client.start()
client.run_until_disconnected()