import asyncio import logging import pybotters import signal import bitbank async def main(): alive = True logging.basicConfig(level=logging.DEBUG) def teardown(): nonlocal alive alive = False for t in asyncio.all_tasks(): t.cancel() loop = asyncio.get_event_loop() loop.add_signal_handler(signal.SIGTERM, teardown) loop.add_signal_handler(signal.SIGINT, teardown) async with pybotters.Client(apis="secret.json") as cli: await asyncio.gather(bitbank.init(cli)) while alive: await asyncio.sleep(0.5) if __name__ == "__main__": try: loop = asyncio.new_event_loop() loop.run_until_complete(main()) finally: loop.close()