def __init__(self) -> None:
     self.db_handler = get_db()
     self.db_handler.set_discord_http_interface(self)
     self.bot_headers = {
         "User-Agent": "DiscordBot($url, $versionNumber)",
         "Authorization": f"Bot {bot_token}",
     }
 def __init__(self, msg_data: Dict[str, Any]):
     self.id = msg_data['user_id']
     self.avatar = msg_data['member']['user']['avatar']
     self.voice_state = self.set_voice_state(msg_data)
     self.saved_time = datetime.datetime.now().timestamp()
     self.db = get_db()
 def __init__(self):
     self.db = get_db()
 def __init__(self):
     self.required_intents = 640
     self.db = get_db()
 def __init__(self, *args, **kwargs):
     super().__init__(*args, **kwargs)
     self.db = get_db()
        if msg['option'] == "fetch_all":
            test = self.db_handler.fetch_ids_of_active_users()
            data = json.dumps([{"msg": "user_data", "id": data[0], "username": data[1]} for data in test])
            self.write_message(data)
        if msg['option'] == "state_of_discord":
            data = self.discord_http_api_handler.get_data_of_active_users()
            self.write_message({"msg": "user_data", "data": data})

    def on_close(self):
        self.observer.remove_controller(self)

def make_app():
    return tornado.web.Application([
        (r"/status", HTTPController),
        (r"/testing", WebsocketWebsocketController),
    ])


if __name__ == "__main__":
    db = get_db()
    observer = WebsocketControllerObserver()
    app = make_app()
    app.listen(PORT)

    print(f"Listening localhost on {PORT}")
    discord_http = create_discord_http_api()
    discord_http.update_guilds()

    discord_ws = create_discord_ws(functional_interface="VOICE_STATE_OBSERVER")
    tornado.ioloop.IOLoop.current().start()