# Where do I…?

Find the guide or API for a common bot task

Find a task below and follow its link to the guide section or reference page that covers it. Unfamiliar terms are defined in the [glossary](https://fluxerly.neontechspace.com/docs/glossary.md)

## Start

- [Create a Fluxer application and get its token](https://fluxerly.neontechspace.com/docs/create-a-bot.md)
- [Add the bot to a community](https://fluxerly.neontechspace.com/docs/create-a-bot.md#3-invite-the-bot-to-a-community)
- [Run a first bot that answers !ping](https://fluxerly.neontechspace.com/docs/quick-start.md)
- [Build a bot with commands, a welcome message and clean shutdown](https://fluxerly.neontechspace.com/docs/small-bot.md)
- [Understand clients, events, Results and caches](https://fluxerly.neontechspace.com/docs/core-concepts.md)
- [Run code when the bot is connected](https://fluxerly.neontechspace.com/docs/core-concepts.md#events-and-handlers)
- [Copy a complete example bot](https://fluxerly.neontechspace.com/docs/examples.md)

## Messages

- [Reply to a message and check the result](https://fluxerly.neontechspace.com/docs/messages.md#reply-to-a-message-and-check-what-happened)
- [Mention a user or role safely](https://fluxerly.neontechspace.com/docs/messages.md#mention-someone-deliberately)
- [Edit a sent message](https://fluxerly.neontechspace.com/docs/messages.md#send-then-edit-the-returned-message)
- [Send an embed](https://fluxerly.neontechspace.com/docs/messages.md#build-an-embed)
- [Attach or download a file](https://fluxerly.neontechspace.com/docs/messages.md#upload-a-small-generated-file)
- [Send a direct message](https://fluxerly.neontechspace.com/docs/messages.md#send-a-requested-direct-message)
- [Add a reaction to a message](https://fluxerly.neontechspace.com/docs/emoji-and-stickers.md#find-an-emoji-and-use-it-twice)
- [Delete a message](https://fluxerly.neontechspace.com/docs/api/js-ts/messages/#messages-delete)
- [Clear recent messages in a channel](https://fluxerly.neontechspace.com/docs/examples.md#moderation-commands)
- [Use custom emoji and stickers](https://fluxerly.neontechspace.com/docs/emoji-and-stickers.md)
- [Post through a webhook without a bot connection](https://fluxerly.neontechspace.com/docs/webhooks-and-oauth.md#send-through-a-configured-webhook)
- [Look up every message method](https://fluxerly.neontechspace.com/docs/api/js-ts/messages/#messages)

## Commands

- [Register prefix commands](https://fluxerly.neontechspace.com/docs/commands.md#register-commands)
- [Parse command arguments](https://fluxerly.neontechspace.com/docs/commands.md#convert-arguments-before-execution)
- [Restrict a command with guards, cooldowns or middleware](https://fluxerly.neontechspace.com/docs/commands.md#guard-limit-and-wrap-commands)
- [Generate a help command](https://fluxerly.neontechspace.com/docs/commands.md#add-help-from-the-registered-commands)
- [Configure commands in runBot](https://fluxerly.neontechspace.com/docs/api/js-ts/client-and-lifecycle/#runbot)
- [Look up the built-in guards](https://fluxerly.neontechspace.com/docs/api/js-ts/commands/#guards)

## Events

- [Welcome new members](https://fluxerly.neontechspace.com/docs/examples.md#welcome-messages)
- [Wait for one future event](https://fluxerly.neontechspace.com/docs/events-and-collectors.md#wait-for-one-future-event)
- [Ask a question and collect the reply](https://fluxerly.neontechspace.com/docs/events-and-collectors.md#ask-a-question-without-missing-a-fast-reply)
- [Collect reactions](https://fluxerly.neontechspace.com/docs/events-and-collectors.md#accept-a-confirmation-reaction)
- [Check whether one user reacted](https://fluxerly.neontechspace.com/docs/api/js-ts/messages/#messages-fetchhasreaction)
- [Run code around every handler](https://fluxerly.neontechspace.com/docs/api/js-ts/client/#use)
- [Look up the handler registration options](https://fluxerly.neontechspace.com/docs/api/js-ts/client/#on)

## Communities and permissions

- [Read a community and its members](https://fluxerly.neontechspace.com/docs/guilds-and-permissions.md#read-a-community-and-one-member-together)
- [Check permissions](https://fluxerly.neontechspace.com/docs/guilds-and-permissions.md#check-permissions-using-available-data)
- [Check whether the bot or a moderator outranks a member](https://fluxerly.neontechspace.com/docs/api/js-ts/guilds-and-members/#members-fetchcanmanage)
- [Give a member a role](https://fluxerly.neontechspace.com/docs/guilds-and-permissions.md#grant-a-configured-opt-in-role)
- [Give a role an icon](https://fluxerly.neontechspace.com/docs/guilds-and-permissions.md#give-a-role-an-icon)
- [Kick, ban or time out a member](https://fluxerly.neontechspace.com/docs/guilds-and-permissions.md#moderate-members)
- [Look up member and role methods](https://fluxerly.neontechspace.com/docs/api/js-ts/guilds-and-members/#members)

## Data and cache

- [Search or scan message history](https://fluxerly.neontechspace.com/docs/history-and-cache.md)
- [Turn on and size the caches](https://fluxerly.neontechspace.com/docs/configuration.md#cache)
- [Read from the cache and fetch when data is missing](https://fluxerly.neontechspace.com/docs/history-and-cache.md#use-the-cache-then-fetch-if-needed)
- [Call a Fluxer API route that has no SDK method](https://fluxerly.neontechspace.com/docs/api/endpoints/)
- [Ask for a person's consent with OAuth](https://fluxerly.neontechspace.com/docs/webhooks-and-oauth.md#create-a-user-consent-url)
- [Keep data across restarts](https://fluxerly.neontechspace.com/docs/starter-lifetime.md#keep-reminders-across-restarts)

## Production

- [Choose client options](https://fluxerly.neontechspace.com/docs/configuration.md)
- [Read and configure log output](https://fluxerly.neontechspace.com/docs/logging.md)
- [Set the bot's status](https://fluxerly.neontechspace.com/docs/api/js-ts/client-and-lifecycle/#presence-set)
- [Schedule a task or reminder](https://fluxerly.neontechspace.com/docs/starter-lifetime.md#run-work-later-or-on-a-schedule)
- [Handle failures that have no Result](https://fluxerly.neontechspace.com/docs/reliability.md#report-failures-that-have-no-result)
- [Retry a failed request safely](https://fluxerly.neontechspace.com/docs/reliability.md#send-once-when-the-outcome-is-uncertain)
- [Stop the bot cleanly](https://fluxerly.neontechspace.com/docs/starter-lifetime.md)
- [Deploy the bot](https://fluxerly.neontechspace.com/docs/deploying.md)
- [Split a large bot into shards](https://fluxerly.neontechspace.com/docs/sharding.md)
- [Watch subscriptions and finish application work before exit](https://fluxerly.neontechspace.com/docs/application-supervision.md)
- [Look up every client option](https://fluxerly.neontechspace.com/docs/api/js-ts/options/#clientoptions)

## Testing

- [Test a bot without Fluxer](https://fluxerly.neontechspace.com/docs/testing.md)
- [Test a runBot bot with its own options](https://fluxerly.neontechspace.com/docs/testing.md#share-the-bots-options-with-its-tests)
- [Test handlers registered with client.on](https://fluxerly.neontechspace.com/docs/testing.md#test-handlers-registered-with-clienton)
- [Look up the test client](https://fluxerly.neontechspace.com/docs/api/testing/)

## Effect

- [Write a first bot with Effect](https://fluxerly.neontechspace.com/docs/effect-first-bot.md)
- [Handle failures, collect replies and run reads together](https://fluxerly.neontechspace.com/docs/effect-workflows.md)
- [Provide the client as a service and test with Layers](https://fluxerly.neontechspace.com/docs/effect-application-testing.md)
- [Test a native runBot bot against an in-memory Fluxer](https://fluxerly.neontechspace.com/docs/effect-application-testing.md#test-a-runbot-bot-against-an-in-memory-fluxer)
- [Look up the Effect entry point](https://fluxerly.neontechspace.com/docs/api/effect/)
- [Look up the Effect test client](https://fluxerly.neontechspace.com/docs/api/effect-testing/)

## Help

- [Match a log line with its fix](https://fluxerly.neontechspace.com/docs/troubleshooting.md#match-a-log-line-with-its-fix)
- [Look up an error or log code](https://fluxerly.neontechspace.com/docs/codes/)
- [Find out why the bot does not reply](https://fluxerly.neontechspace.com/docs/troubleshooting.md#no-reply-arrives)
- [Read short answers to common questions](https://fluxerly.neontechspace.com/docs/faq.md)
- [Look up a term](https://fluxerly.neontechspace.com/docs/glossary.md)
- [Check Node.js, TypeScript and Effect requirements](https://fluxerly.neontechspace.com/docs/support-and-compatibility.md)
- [Get help or report a vulnerability](https://fluxerly.neontechspace.com/docs/support-and-compatibility.md#get-help)
- [Browse the API reference by task](https://fluxerly.neontechspace.com/docs/api/tasks/)
