[英]Return a list from asyncio function
我从下面有以下代码。 我知道在某处可能是错误的,但是在运行后可以返回列表电报列表必须怎么办? 只想可以全局访问列表项?
telegramlist = []
telegramchannellist = ['TelethonChat-anti-kyle']
async def telegram_method():
api_id = '*'
api_hash = '*'
client = TelegramClient('trendingsesion', api_id, api_hash)
client.start()
telegramdict = {}
for ch in telegramchannellist:
channel_username = ch
channel_entity = client.get_entity(channel_username)
posts = client(GetHistoryRequest(
peer=channel_entity,
limit=1,
offset_date=None,
offset_id=0,
max_id=0,
min_id=0,
add_offset=0,
hash=0))
telegramdict[ch] = posts.messages # here if i write .messages shows a weird error, he want to be only posts
telegramlist = list(telegramdict.values())
return telegramlist
shuffle(telegramchannellist)
if __name__ == '__main__':
loop = asyncio.get_event_loop()
telegramlistt = loop.run_until_complete(asyncio.gather(telegram_method()))
loop.close()
您在main
协程中缺少await
。 已更正,它看起来像这样:
async def main():
telegramlist = await telegram_method()
return telegramlist
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.