## 1. Project Overview & Quickstart (collabnix/CONTRIBUTING)

## 1. Project Overview & Quickstart (collabnix/CONTRIBUTING)

# CONTRIBUTING

Open-source repository collabnix/CONTRIBUTING

### Repository Details
- **Repository:** [collabnix/CONTRIBUTING](https://github.com/collabnix/CONTRIBUTING)
- **Primary Language:** Code

*Note: High-volume repository documentation is actively indexed and synchronized by YakaAI.*

## 2. Official Technical Reference & Guides (collabnix/website)

## File: README.md

# Website

This website is built using [Docusaurus 2](https://v2.docusaurus.io/), a modern static website generator.

## Installation

```console
yarn install
```

## Local Development

```console
yarn start
```

This command starts a local development server and open up a browser window. Most changes are reflected live without having to restart the server.

## Build

```console
yarn build
```

This command generates static content into the `build` directory and can be served using any static contents hosting service.

## Deployment

```console
GIT_USER=<Your GitHub username> USE_SSH=true yarn deploy
```

If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
"# website"

---

## File: docs/introduction.md

---
id: introduction
title: Introduction
sidebar_label: Introduction
slug: /
---

## What is AttoBot?
AttoBot is a multi-purpose Discord bot with lots of API integrations and utilities that will enhance your Discord experience.

## Why should you invite AttoBot?
AttoBot can:

✔️ Spice up chat environment with the use of roleplay/action commands such as pat, hug, slap, and more!

✔️ Search through the internet for information resources through various functions such as movie information lookup, wikis on Wikia, or even books.

✔️ Ease the work of moderators with easy-to-use moderation commands.

✔️ Know a member's reputation with reputation system.

✔️ Play games with AttoBot or other users.

## Our Links
* [Support Server](https://discord.gg/fejq4seryy)
* [Donate](https://buymeacoff.ee/attobot) or type "donate" in the support server
* [Invite AttoBot](https://discord.com/api/oauth2/authorize?client_id=784351044065951744&scope=bot&permissions=171305158)
* [Invite AttoBot (Administrator)](https://discord.com/api/oauth2/authorize?client_id=784351044065951744&scope=bot&permissions=8)

:::important
Do not invite AttoBot with Administrator permissions unless the bot has permission errors.
:::

## 2. Official Technical Reference & Guides (collabnix/website)

## File: README.md

# Website

This website is built using [Docusaurus 2](https://v2.docusaurus.io/), a modern static website generator.

## Installation

```console
yarn install
```

## Local Development

```console
yarn start
```

This command starts a local development server and open up a browser window. Most changes are reflected live without having to restart the server.

## Build

```console
yarn build
```

This command generates static content into the `build` directory and can be served using any static contents hosting service.

## Deployment

```console
GIT_USER=<Your GitHub username> USE_SSH=true yarn deploy
```

If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.
"# website"

---

## File: docs/about-bot.md

---
id: about-bot
title: About Bot
---
AttoBot is a Discord bot coded in Node.js with [discord.js](https://discord.js.org) using a customized version of [Commando](https://github.com/discordjs/Commando) [(see customized version here)](https://github.com/attobot-discord/Commando)

AttoBot is a great multipurpose bot providing features such as games, moderation, fun and more commands!
It's a bot that stand out from other bots!

Note that the bot is in early development stage, with many more features coming out and bug fixes. If you want to report a bug or send a feedback, please use the `a!report` command! Thank you for using AttoBot!

## Fun Facts
* Around 30000 lines of code, with JavaScript being about 9000 lines and JSON being about 21000 lines
* Over 130 commands
* 100% free with no paid features
* Partially open source

---

## File: docs/dev-team.md

---
id: dev-team
title: Developer Team
---
This bot is developed by only one person as a hobby in their free time, so donations to support development are highly appreciated!

---

* Username: Wolf20482#3390
* Email: attobot@outlook.com
* [Website](https://wolf20482.xyz)

---

## File: docs/donate.md

---
id: donate
title: Donate
---
# Donate
AttoBot is made my only one person, because of that donations are highly appreciated!

Donations can be made via [Buy Me A Coffee](https://buymeacoff.ee/attobot). Donation isn't required to use some features of AttoBot, but if you donate then I really appreciate it!

---

## File: docs/faq.md

---
id: faq
title: Frequently Asked Questions (FAQ)
---
## The bot is lagging or is offline. What should I do?
* Check the #outages channel in the official support server for more information.
* If you're listening to music with other people, try asking other people if the bot also lag for them. If no, you should check your Internet connection.
* If nothing works, contact our developers using the a!report command.

## I can't hear sounds from the bot.
* Check that you have audio coming from Discord, for instance, check if you can hear anyone else.
* Check if either you or the server has muted the bot, this can be seen by the icon next to it (microphone with a dash through it), which is either red (if server muted) or grey (if muted by you).
* Check the Discord volume of the bot, this is done with the volume slider.
* Check the bot volume, this can be done with the a!volume command.
* Try to leave and then re-join the voice channel.
* Try to use another voice channel.
* Try to change the server voice region, which can be changed through the server settings, for more information check out this [Discord article](https://support.discord.com/hc/en-us/articles/216661717-How-do-I-change-my-Voice-Server-Region).

## How do I see the command list?
Use the `a!help` command.

## The bot is online or doesn't respond. What should I do?
* Check if you typed the command correctly.
* Check if others can use the command.
* There can also be a problem with DNS resolution of the bot hosting server. Please try again later.
* When the bot responds again, use `a!report` to report the incident. If the bot still doesn't respond or becomes offline, you can report the incidents in the support channel of the support server.

## Does the bot support multiple languages?
It doesn't and won't support multiple languages as all of the bot's responses are hard-coded, and if multiple languages support is added, the bot has to be rewritten entirely with language customization support and strings replaced by JSON values, which is very time consuming and can be very buggy. Sorry for the inconvenience.

## I have a feedback or suggestion!
Use the a!report command to send it to us! Thank you for your feedback!

## Is there any premium features?
The bot is 100% free, and there are no premium features, but donations are highly appreciated.

## How do AttoBot collect user data?
Please see the Privacy Policy.

---

## File: docs/features.mdx

---
id: features
title: Features
---
import Tabs from '@theme/Tabs';

import TabItem from '@theme/TabItem';

AttoBot has many features and API integrations which can enhance your Discord experience.

This page lists all the features (command groups) and descriptions about them. To see the command list, use `a!help`.

Currently, AttoBot has over 120 commands, with features such as:

<Tabs
  defaultValue="music"
  values={[
    {label: 'Music', value: 'music'},
    {label: 'GIF', value: 'gif'},
    {label: 'Guild', value: 'guild'},
    {label: 'Games', value: 'games'},
    {label: 'Image Manipulation', value: 'edit-image'},
    {label: 'Analyzers', value: 'analyze'},
    {label: 'Events', value: 'events'},
    {label: 'Searching', value: 'search'},
    {label: 'Discord Information', value: 'info'},
    {label: 'Speedrun', value: 'speedrun'},
    {label: 'Miscellaneous', value: 'misc'}
  ]}>
  <TabItem value="music">Full Music functionality with playlist support and Music Trivia!</TabItem>
  <TabItem value="gif">Random GIFs!</TabItem>
  <TabItem value="guild">Extensive moderation features, welcome and leave messages, infractions and reputation system!</TabItem>
  <TabItem value="games">Games that entertain you when you're bored. Includes Single-player and Multi-player games.</TabItem>
  <TabItem value="edit-image">Create fun images!</TabItem>
  <TabItem value="analyze">Perform analysis on things!</TabItem>
  <TabItem value="events">Information about events happening on the globe!</TabItem>
  <TabItem value="search">Search things!</TabItem>
  <TabItem value="info">Get information on Discord such as channel, user, message, server information!</TabItem>
  <TabItem value="speedrun">Get Speedrun stats!</TabItem>
  <TabItem value="misc">Other ungrouped commands!</TabItem>
</Tabs>

---

## File: docs/introduction.md

---
id: introduction
title: Introduction
sidebar_label: Introduction
slug: /
---

## What is AttoBot?
AttoBot is a multi-purpose Discord bot with lots of API integrations and utilities that will enhance your Discord experience.

## Why should you invite AttoBot?
AttoBot can:

✔️ Spice up chat environment with the use of roleplay/action commands such as pat, hug, slap, and more!

✔️ Search through the internet for information resources through various functions such as movie information lookup, wikis on Wikia, or even books.

✔️ Ease the work of moderators with easy-to-use moderation commands.

✔️ Know a member's reputation with reputation system.

✔️ Play games with AttoBot or other users.

## Our Links
* [Support Server](https://discord.gg/fejq4seryy)
* [Donate](https://buymeacoff.ee/attobot) or type "donate" in the support server
* [Invite AttoBot](https://discord.com/api/oauth2/authorize?client_id=784351044065951744&scope=bot&permissions=171305158)
* [Invite AttoBot (Administrator)](https://discord.com/api/oauth2/authorize?client_id=784351044065951744&scope=bot&permissions=8)

:::important
Do not invite AttoBot with Administrator permissions unless the bot has permission errors.
:::

---

## File: docs/permissions.mdx

---
id: permissions
title: Permissions
---
import Tabs from '@theme/Tabs';

import TabItem from '@theme/TabItem';

AttoBot requires the following permissions in order to work properly:

<Tabs
  defaultValue="general"
  values={[
    {label: 'General', value: 'general'},
    {label: 'Text', value: 'text'},
    {label: 'Voice', value: 'voice'}
  ]}>
  <TabItem value="general">
      Kick Members; Ban Members; Manage Nicknames; View Audit Log
  </TabItem>
  <TabItem value="text">
      Send Messages; Manage Messages; Embed Links; Attach Files; Read Message History; Add Reactions; Use External Emojis
  </TabItem>
  <TabItem value="voice">
      Connect; Speak; Use Voice Activity
  </TabItem>
</Tabs>

:::tip
To disable AttoBot in some channels, just revoke its permissions to view the channel and read the message history in that channel.
Commands executed in channels which AttoBot has no send messages permissions but has view channel permissions, will have its output DMed to the author.
:::

---

## File: docs/privacy-policy.md

---
id: privacy-policy
title: Privacy Policy
---

AttoBot collects information from you, users, from [Discord](https://discord.com) in order for some functionality to work. These information are needed so that AttoBot could keep track of who owns who, and who's what is whose. Discord itself does not disclose critical information you've sent to them to us, developers, when interacting with the API. However, there might be times that you became paranoid of how some bot you use collect data, how & where do they post it?

## What data do we collect?
Per server, we store the giveaways/tickets/Server Stats/user infractions and other settings (such as Member Greeting System) that relates to the bot. Only AttoBot and AttoBot only has access to the Databases. The data will be only altered with the owners/admin's concern.

**AttoBot ONLY stores necessary data.**

## Why do we need the data?
AttoBot needs this data to provide a seamless experience of her features for each server/guild & user, AttoBot will never sneakily fetch your data.

## How do we handle the data?
We store data with [MongoDB](https://quickmongo.js.org) and [Redis](https://docs.redislabs.com/latest/rs/references/client_references/client_ioredis/) via verified database wrappers. MongoDB is used to store permanent data while Redis is used for caching.

## Questions and concerns
If you have any concerns about this privacy policy, please ask about it in the [Support Server](https://support.attobot.xyz)

## Data removal
Even if the bot is removed from a server, the data still exists to keep the configurations. If you want to have it removed, you can have the rights to request us. To do so, you can either use `a!report` or join the [Support Server](https://support.attobot.xyz).