mostr-zulip-bot/zulip_bots/zulip_bots/bots/howdoi/doc.md
Eeshan Garg d63269ee6a zulip_bots: Rename bots/{bot}/readme.md -> bots/{bot}/doc.md.
doc.md better describes the style of documentation that will live
inside these files, since we want these to be similar to our
webhooks' doc.md files in terms of how these are rendered and
composed of Markdown macros.
2017-08-15 19:30:13 -07:00

56 lines
2.1 KiB
Markdown

# Howdoi bot
This bot will allow users to get technical answers from
[StackOverflow](https://stackoverflow.com). It is build on top of the
python command line tool [howdoi](https://github.com/gleitz/howdoi) by
Benjamin Gleitzman.
## Usage
Simply prepend your questions with one of the following commands. The
answer will be formatted differently depending the chosen command.
| Command | Respond |
| ----------------------- | ------------------------------------------------------ |
| `@mention-bot howdowe` | Concise answer to the same stream. |
| `@mention-bot howdowe!` | Same as `@mention-bot howdowe` but with full answer and URL of the solutions. |
| `@mention-bot howdoi` | Concise answer replied to sender via private message. |
| `@mention-bot howdoi!` | Same as `@mention-bot howdoi` but with full answer and URL of the solutions. |
## Screenshots
#### Example 1
Question -> `@mention-bot howdowe use supervisor in elixir`
![howdowe question](assets/question_howdowe.png)
Answer -> Howdoi would try to **only** respond with the coding section
of the answer.
![howdowe answer](assets/answer_howdowe.png)
#### Example 2
Question -> `@mention-bot howdoi! stack vs heap`
![howdoi! question](assets/question_howdoi_all.png)
Answer -> Howdoi would return the **full** stackoverflow answer via
**private message** to the original sender. The URL of the answer can be
seen at the bottom of the message.
![howdoi! answer](assets/answer_howdoi_all.png)
**Note:**
* Line wrapped is enabled with a maximum line length of 85 characters.
This could be adjusted in the source code (`HowdoiHandler.MAX_LINE_LENGTH`).
* *Howdoi* generally perform better if you ask a question using keywords
instead of a complete sentences (eg: "How do i make a decorator in Python"
-> "python decorator").
* __[*Limitation*]__ If a answer contains multiple code blocks, the `@mention-bot howdoi`
and `@mention-bot howdowe` commands would only return the first coding section, use
`@mention-bot howdo[we|i]!` in that case.