-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(issue-3): create continuous documentation
- Loading branch information
1 parent
592a9e5
commit 61586bd
Showing
6 changed files
with
132 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# Documentação dos comandos do Bot | ||
|
||
Esta documentação fornece informações detalhadas sobre os comandos disponíveis no Bot Discord. | ||
Em vez de depender de um README estático, esta documentação é construída automáticamente no deploy | ||
usando código Python. | ||
Isso nos permite manter a dinamicidade do mapeamento dos comandos, garantindo que | ||
as informações estejam sempre atualizadas. | ||
|
||
> Para visualizar o código responsável por gerar esta documentação dinâmica, | ||
> clique [aqui](../src/continuous_documentation/commands_documentation.py) | ||
## Informações sobre os comandos | ||
|
||
Hoje temos **2** comandos. | ||
|
||
Mostramos na tabela abaixo quais são eles e suas informações de forma sintetizada. | ||
|
||
ID |Nome do Comando| Descrição | Aceita Parametros | | ||
---|---------------|-----------|-------------------| | ||
1 | [hello](#hello) | teste de descrição | ❌ | ||
2 | [help](#help) | teste de descrição | ✅ | ||
|
||
|
||
## Comandos de forma detalhada | ||
|
||
### hello | ||
- Descrição: teste de descrição | ||
|
||
**Parâmetros**: | ||
|
||
|
||
___ | ||
### help | ||
- Descrição: teste de descrição | ||
|
||
**Parâmetros**: | ||
|
||
- Nome: command; | ||
- Descrição: comando que o usuário precisa de mais detalhes; | ||
- Obrigatório: ❌. | ||
___ |
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
from src.main import bot | ||
from src.main import server_id | ||
|
||
string_template = """# Documentação dos comandos do Bot | ||
Esta documentação fornece informações detalhadas sobre os comandos disponíveis no Bot Discord. | ||
Em vez de depender de um README estático, esta documentação é construída automáticamente no deploy | ||
usando código Python. | ||
Isso nos permite manter a dinamicidade do mapeamento dos comandos, garantindo que | ||
as informações estejam sempre atualizadas. | ||
> Para visualizar o código responsável por gerar esta documentação dinâmica, | ||
> clique [aqui](../src/continuous_documentation/commands_documentation.py) | ||
## Informações sobre os comandos | ||
Hoje temos **{COMMANDS_COUNT}** comandos. | ||
Mostramos na tabela abaixo quais são eles e suas informações de forma sintetizada. | ||
ID |Nome do Comando| Descrição | Aceita Parametros | | ||
---|---------------|-----------|-------------------| | ||
{COMMANDS_TABLE} | ||
## Comandos de forma detalhada | ||
{COMMANDS_DETAILED} | ||
""" | ||
|
||
|
||
def docs_dags_self_documentation(): | ||
final_path = './docs/commands.md' | ||
|
||
with open(final_path, 'w') as file: | ||
all_commands = [ | ||
_command for _command in bot.tree.walk_commands(guild=server_id) | ||
] | ||
commands_count = len(all_commands) | ||
commands_table = '' | ||
commands_detailed = '' | ||
for e, command in enumerate(all_commands, 1): | ||
dict_command = command.to_dict() | ||
accept_commands = '✅' if len(dict_command['options']) > 0 else '❌' | ||
command_name = dict_command['name'] | ||
command_description = dict_command['description'] | ||
|
||
_command_table = f'{e} | [{command_name}](#{command_name}) | {command_description} | {accept_commands}\n' | ||
commands_table += _command_table | ||
|
||
params = '**Parâmetros**:\n\n' | ||
for param in dict_command['options']: | ||
param_name = param['name'] | ||
param_description = param['description'] | ||
param_required = '❌' if param['required'] is False else '✅' | ||
|
||
if len(dict_command['options']) > 0: | ||
params += ( | ||
f'- Nome: {param_name};\n- Descrição: {param_description};\n- Obrigatório: {param_required}.' | ||
) | ||
|
||
_command_detail = f'### {command_name}\n - Descrição: {command_description}\n\n{params}' | ||
commands_detailed += _command_detail | ||
commands_detailed += '\n___\n' # horizontal line | ||
|
||
commands_documentation = string_template.format( | ||
COMMANDS_COUNT=commands_count, | ||
COMMANDS_TABLE=commands_table, | ||
COMMANDS_DETAILED=commands_detailed, | ||
) | ||
file.write(commands_documentation) | ||
|
||
|
||
if __name__ == '__main__': | ||
docs_dags_self_documentation() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters