text: Title: Threading/Async for OpenAI requests
  Body: As multiple users use the bot, we need to be able to thread/make asynchronous the OpenAI API requests so that the bot's main thread doesn't get blocked every time it works on a request. Currently, the main thread gets blocked and if many people use multiple commands consecutively, the bot will block for a long time. At the very least and likely an easier approach: some kind of non-blocking queue for requests should be implemented instead of attempting to respond to the user immediately. This is probably a good approach to start with as well.
  