You could do something like have `recieveMessage` push to a queue, then do a blocking/async `await` `get`in `choices`.
probably a silly question, but the entire program freezes when the queue.get() is empty and therefore the queue doesn't get any new elements after the user input, did I do something wrong? (the queue calls attached)