> For the complete documentation index, see [llms.txt](https://bng94.gitbook.io/discord-features-handler-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bng94.gitbook.io/discord-features-handler-docs/built-in/built-in-functions.md).

# Built-in Functions

#### For async/await, we can use this to pause the bot and handle certain events before proceeding.

```cpp
  // `await client.wait(1000);` to "pause" for 1 second.
  client.wait = require("util").promisify(setTimeout);
```

#### A built-in Capitalization String Function for words in a sentence format.

```cpp
  // <String>.toProperCase() returns a proper-cased string such as:
  // "A quick brown fox jumps the lazy dog".toProperCase()
  // returns "A Quick Brown Fox Jumps The Lazy Dog"
  String.prototype.toProperCase = function () {
    return this.replace(/([^\W_]+[^\s-]*) */g, function (txt) {
      return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
    });
  };
```

#### A built-in Array.random() function to return a random element of an Array

```javascript
  Array.prototype.random = function () {
    return this[Math.floor(Math.random() * this.length)];
  };
```

#### Handling unhandledRejection, events that fails because of missing .catch(e => {...}); to prevent bot from crashing in middle of production.

```cpp
  process.on("unhandledRejection", (e) => {
    console.log(e);
  });
```
