O que Filmweb faz?
Obtém dados da API JSON por trás do www.filmweb.pl usando um pequeno script Python
sem dependências, scripts/filmweb.py, que sempre imprime JSON.
Executando o script
Execute a partir do diretório deste skill. Use qualquer lançador Python disponível:
| SO | Comando |
|---|---|
| Linux / macOS | python3 scripts/filmweb.py <comando> … |
| Windows | py scripts/filmweb.py <comando> … (ou python) |
Nenhuma etapa de instalação é necessária.
Fluxo de trabalho
- Obtenha o ID do Filmweb.
- O usuário forneceu um link →
filmweb.py id "<url>"(offline). O ID é o número final do slug:filmweb.pl/film/Matrix-1999-628→628,filmweb.pl/serial/Gra+o+tron-2011-476848→476848. - O usuário forneceu um título →
filmweb.py search "<título>". Os resultados são ordenados por relevância. Adicione--type=serialquando o usuário claramente se referir a uma série de TV (ou--type=filmpara um filme). Se vários títulos forem plausivelmente correspondentes (remakes, sequências, filme vs. série), verifique-os comfilme escolha pelo ano, ou pergunte ao usuário.
- O usuário forneceu um link →
- Busque apenas o que a pergunta precisa.
- avaliação, gêneros, diretor, enredo curto →
film - "quem atuou em…" →
cast(filmjá contém os dois atores principais) - "onde posso assistir…" →
vod - "quando é a estreia…" →
dates - enredo completo →
description; detalhes sobre uma pessoa →person <personId>
- avaliação, gêneros, diretor, enredo curto →
- Responda no idioma do usuário e cite a
urldofilm. Arredonde a avaliação para uma casa decimal e mencione o número de votos (ex.: "7,6/10 z 872 tys. ocen"). Informe os preços VOD em zł.
Filmes e séries
Filmes, séries de TV e jogos compartilham um único espaço de IDs no Filmweb, e todo comando aceita
qualquer um deles — use film <id> também para uma série (ex.: film 476848 para "Gra o tron").
Verifique o campo type na saída (film, serial, …). Para séries, o campo year refere-se à primeira temporada
e duration é a duração de um episódio, não da série inteira.
Comandos
| Comando | Retorno |
|---|---|
| `search "" [--type=film | serial |
| `film <id | url>` (filme ou série) |
| `description <id | url>` |
| `cast <id | url> [--limit=10]` |
| `dates <id | url>` |
| `vod <id | url>` |
person <idPessoa> | nome, nomeReal, dataNascimento, localNascimento, altura, profissão, urlFoto, idsConhecidoPor, url |
id <url> | {"id": …}, offline |
Referência de campos: references/output.md.
Códigos de saída
JSON vai para stdout; erros vão para stderr como {"error": "...", "type": "..."}.
| Código | Significado | O que fazer |
|---|---|---|
0 | sucesso | use o JSON |
2 | não encontrado | informe o usuário; verifique novamente o ID |
64 | uso incorreto | corrija os argumentos |
69 | erro de rede / Filmweb | tente novamente uma vez; se persistir, use o fallback |
Fallback
A API é não oficial e pode mudar ou ser bloqueada pela rede. Se o script continuar
falhando com o código 69, ou se o usuário precisar de dados que ele não fornece (nomes de personagens, avaliações,
comentários, equipe completa), busque a página pública (url do film, ou https://www.filmweb.pl/film/<slug>-<id>)
com uma ferramenta de busca web ou curl e leia os dados dela. Informe ao usuário que os dados vieram da página web.
Regras
- Não chame
filmpara cada resultado de busca "só por precaução"; verifique apenas os candidatos que você precisa. - Não invente dados que o script não retornou.