GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    robozinho orgânico :neobot_square: (cadusilva@bolha.one)'s status on Tuesday, 30-Dec-2025 22:03:09 JST robozinho orgânico :neobot_square: robozinho orgânico :neobot_square:

    Existe alguma forma em python de interpretar o nome da cidade sem usar o spacy.py? Com esse pacote a imagem final fica com centenas de megabytes.

    In conversation about 7 months ago from bolha.one permalink

    Attachments


    • Embed this notice
      robozinho orgânico :neobot_square: (cadusilva@bolha.one)'s status on Tuesday, 30-Dec-2025 22:21:52 JST robozinho orgânico :neobot_square: robozinho orgânico :neobot_square:
      in reply to
      • Lambida e diamantes são eternos

      RE: https://bolha.one/@cadusilva/115808686547417611

      @Kriptolix isso aqui:

      In conversation about 7 months ago permalink
    • Embed this notice
      Lambida e diamantes são eternos (kriptolix@ursal.zone)'s status on Tuesday, 30-Dec-2025 22:21:53 JST Lambida e diamantes são eternos Lambida e diamantes são eternos
      in reply to

      @cadusilva O que tu quer dizer com interpretar?

      In conversation about 7 months ago permalink
    • Embed this notice
      guisso :v_term: (guisso@bolha.one)'s status on Tuesday, 30-Dec-2025 22:35:33 JST guisso :v_term: guisso :v_term:
      in reply to
      • Lambida e diamantes são eternos

      @cadusilva @Kriptolix bota um if, se vir uma palavra só, pulam o spacy

      In conversation about 7 months ago permalink
    • Embed this notice
      robozinho orgânico :neobot_square: (cadusilva@bolha.one)'s status on Tuesday, 30-Dec-2025 22:35:34 JST robozinho orgânico :neobot_square: robozinho orgânico :neobot_square:
      in reply to
      • Lambida e diamantes são eternos

      @Kriptolix inicialmente a ideia era essa mas na prática as pessoas só soltam o nome da cidade mesmo então acho o spacy supérfluo.

      Ninguém pergunta "como está o clima em Recife?" e sim "Recife".

      São os arquivos under_the_weather.py e openweathermap.py:

      :forgejo: https://code.bolha.one/bolha/clima

      In conversation about 7 months ago permalink

      Attachments

      1. Domain not in remote thumbnail source whitelist: code.bolha.one
        clima
        from bolha
        Robô que responde com o clima para a cidade informada.


    • Embed this notice
      Lambida e diamantes são eternos (kriptolix@ursal.zone)'s status on Tuesday, 30-Dec-2025 22:35:36 JST Lambida e diamantes são eternos Lambida e diamantes são eternos
      in reply to

      @cadusilva Isso parece ser um problema no parser, me manda o link do arquivo pra eu dar uma olhada como ele faz.

      Em geral, você so precisa do spacey se você quiser pegar dados de contexto no meio de um texto natural. Ou seja, no meio de uma conversa qualquer sem nenhuma estrutura "perceber" que uma cidade foi citada, por exemplo. Se tiver uma estrutura textual para chamar o bot não vai precisar.

      In conversation about 7 months ago permalink
    • Embed this notice
      robozinho orgânico :neobot_square: (cadusilva@bolha.one)'s status on Tuesday, 30-Dec-2025 22:37:49 JST robozinho orgânico :neobot_square: robozinho orgânico :neobot_square:
      in reply to
      • 𝐩𝐞𝐝𝐫𝐨

      @kepha esse precisa de um dicionário prévio de palavras, não?

      In conversation about 7 months ago permalink
    • Embed this notice
      𝐩𝐞𝐝𝐫𝐨 (kepha@organica.social)'s status on Tuesday, 30-Dec-2025 22:37:50 JST 𝐩𝐞𝐝𝐫𝐨 𝐩𝐞𝐝𝐫𝐨
      in reply to

      @cadusilva tem o flashtext que eu acho que é bem leve: https://flashtext.readthedocs.io/en/latest/

      In conversation about 7 months ago permalink

      Attachments

      1. No result found on File_thumbnail lookup.
        FlashText’s documentation! — FlashText 1.0 documentation
    • Embed this notice
      robozinho orgânico :neobot_square: (cadusilva@bolha.one)'s status on Tuesday, 30-Dec-2025 22:38:36 JST robozinho orgânico :neobot_square: robozinho orgânico :neobot_square:
      in reply to
      • guisso :v_term:

      @guisso mas alguns municípios e cidades são nomes compostos e pode ser necessário informar o UF

      In conversation about 7 months ago permalink
    • Embed this notice
      robozinho orgânico :neobot_square: (cadusilva@bolha.one)'s status on Tuesday, 30-Dec-2025 22:42:09 JST robozinho orgânico :neobot_square: robozinho orgânico :neobot_square:
      in reply to
      • guisso :v_term:

      @guisso isso até um 486 consegue :vv:

      In conversation about 7 months ago permalink
    • Embed this notice
      guisso :v_term: (guisso@bolha.one)'s status on Tuesday, 30-Dec-2025 22:42:11 JST guisso :v_term: guisso :v_term:
      in reply to

      @cadusilva olha ai, seu Intel Atom da processando melhor que meu pentium IV

      In conversation about 7 months ago permalink
    • Embed this notice
      robozinho orgânico :neobot_square: (cadusilva@bolha.one)'s status on Tuesday, 30-Dec-2025 22:58:56 JST robozinho orgânico :neobot_square: robozinho orgânico :neobot_square:
      in reply to
      • 𝐩𝐞𝐝𝐫𝐨

      @kepha teria que ser uma lista gigantesca com todos os municípios conhecidos do planeta hahaha

      In conversation about 7 months ago permalink
    • Embed this notice
      𝐩𝐞𝐝𝐫𝐨 (kepha@organica.social)'s status on Tuesday, 30-Dec-2025 22:58:58 JST 𝐩𝐞𝐝𝐫𝐨 𝐩𝐞𝐝𝐫𝐨
      in reply to

      @cadusilva sim, teria que abastecer ele antes com uma lista de municípios, por exemplo

      In conversation about 7 months ago permalink
    • Embed this notice
      robozinho orgânico :neobot_square: (cadusilva@bolha.one)'s status on Tuesday, 30-Dec-2025 23:05:39 JST robozinho orgânico :neobot_square: robozinho orgânico :neobot_square:
      in reply to
      • Lambida e diamantes são eternos

      @Kriptolix vou testar aqui, valeu!

      In conversation about 7 months ago permalink
    • Embed this notice
      Lambida e diamantes são eternos (kriptolix@ursal.zone)'s status on Tuesday, 30-Dec-2025 23:05:40 JST Lambida e diamantes são eternos Lambida e diamantes são eternos
      in reply to

      @cadusilva Foi mal, eu não prestei atenção na mensagem inicial, tu já esta usando só o bot e nome da cidade. Nesse caso, basta alterar a linha 114 de under_the_weather.py de:

      places = [e for e in self.nlp(msg).ents if e.label_ == "LOC"]

      Para

      places = [msg]

      Se funcionar, tu pode remover todas as referencias ao spacy do arquivo e remover ele da image.

      In conversation about 7 months ago permalink

      Attachments


    • Embed this notice
      Lambida e diamantes são eternos (kriptolix@ursal.zone)'s status on Tuesday, 30-Dec-2025 23:05:42 JST Lambida e diamantes são eternos Lambida e diamantes são eternos
      in reply to

      @cadusilva Era o que e pensava mesmo. Tu tem algumas alternativas a depender de alguns fatores:

      1) Se o bot só funciona com cidades BR seria possível fazer uma lista com todas e bater via regex a mensagem do usuário pra ver se esta citando alguma. Se for o mundo todo não da pra fazer isso.

      2) Criar uma estrutura formal de mensagem para o bot responder, fora da qual ele não responde. Algo como "@bot "nome da cidade" ". Se a pessoa colocar qualquer coisa diferente dessa o estrutura o bot não vai entender.

      Depois disso precisa alterar o parser. Atualmente ele recebe um array, por isso se tu passa uma string simples ele entende como um array de letras e chama pra cada uma. Mas isso é fácil de mudar.

      In conversation about 7 months ago permalink
    • Embed this notice
      robozinho orgânico :neobot_square: (cadusilva@bolha.one)'s status on Tuesday, 30-Dec-2025 23:46:49 JST robozinho orgânico :neobot_square: robozinho orgânico :neobot_square:
      in reply to
      • Lambida e diamantes são eternos

      @Kriptolix tem como capturar o erro "AttributeError: 'NoneType' object has no attribute 'raw'", como o código faz com erros 4xx, e responder o usuário em vez de falhar e o bot ser reiniciado?

      In conversation about 7 months ago permalink
    • Embed this notice
      robozinho orgânico :neobot_square: (cadusilva@bolha.one)'s status on Tuesday, 30-Dec-2025 23:46:51 JST robozinho orgânico :neobot_square: robozinho orgânico :neobot_square:
      in reply to
      • Lambida e diamantes são eternos

      @Kriptolix fiz o teste aqui e funcionou. Desde que o usuário informe só o nome da cidade, que pode ser "Cidade", "Cidade, UF", "Nome Composto", ele vai enviar tudo pra API do OWM e retornar as informações do clima.

      Mas se o usuário adicionar mais texto, a API não vai encontrar a cidade e o bot nem sequer vai responder (vai dar erro no bastidor, o que é o comportamento esperado, sem um código para lidar com isso e responder "informe somente um nome de cidade")

      In conversation about 7 months ago permalink
    • Embed this notice
      robozinho orgânico :neobot_square: (cadusilva@bolha.one)'s status on Tuesday, 30-Dec-2025 23:59:37 JST robozinho orgânico :neobot_square: robozinho orgânico :neobot_square:
      in reply to
      • Lambida e diamantes são eternos

      @Kriptolix é isso mesmo. Tipo, o usuário vai e digita "qual o clima na cidade do Recife". Aí isso tudo vai ser passado integralmente para a API do OWM, e obviamente não existe uma cidade chamada "qual o clima na cidade do Recife", e a API vai retornar null.

      Vou ver o que muda com a alteração sugerida.

      In conversation about 7 months ago permalink
    • Embed this notice
      Lambida e diamantes são eternos (kriptolix@ursal.zone)'s status on Tuesday, 30-Dec-2025 23:59:39 JST Lambida e diamantes são eternos Lambida e diamantes são eternos
      in reply to

      @cadusilva Hahahah, não. Esse erro indica que alguma coisa que não deveria ir vazia esta indo vazia. Provavelmente na linha 128 de under_the_weather.py. O que tu tentou fazer que deu esse erro?

      Se for o que eu acho que é, vai ter que adicionar uma verificação pra ver se msg está vazio, mas não tenho certeza, eu nunca tive que debugar um código via telefone sem fio antes, ahaha. Tanta isso na linha 115:

      if places:

      por

      if places[0]:

      In conversation about 7 months ago permalink

      Attachments


    • Embed this notice
      robozinho orgânico :neobot_square: (cadusilva@bolha.one)'s status on Wednesday, 31-Dec-2025 00:16:54 JST robozinho orgânico :neobot_square: robozinho orgânico :neobot_square:
      in reply to
      • Lambida e diamantes são eternos

      @Kriptolix obrigado! Vou brincar aqui com outros códigos como 406 (não aceitável), 417 (expectativa não atendida), 422 (entidade não-processável) e adicionar uma resposta do bot ao usuário :vilaozinho:

      In conversation about 7 months ago permalink
    • Embed this notice
      Lambida e diamantes são eternos (kriptolix@ursal.zone)'s status on Wednesday, 31-Dec-2025 00:16:55 JST Lambida e diamantes são eternos Lambida e diamantes são eternos
      in reply to

      @cadusilva Ok, vi aqui o problema. na linha 44 de openweathermap.py tem o seguinte:

      location = geolocator.geocode(city_name, language=lang).raw

      tu vai dar um enter e adicionar abaixo dela:
      if not location:
      ----return 400 # cidade inválida ou não encontrada

      obs: tem que dar tab na linha do return que eu representei com '----'.

      In conversation about 7 months ago permalink

      Attachments


    • Embed this notice
      Lambida e diamantes são eternos (kriptolix@ursal.zone)'s status on Wednesday, 31-Dec-2025 00:16:56 JST Lambida e diamantes são eternos Lambida e diamantes são eternos
      in reply to

      @cadusilva Nem precisa, não vai funcionar. Vou ter que alterar outra coisa em outro arquivo. Deixa ver aqui.

      In conversation about 7 months ago permalink
    • Embed this notice
      robozinho orgânico :neobot_square: (cadusilva@bolha.one)'s status on Wednesday, 31-Dec-2025 00:43:36 JST robozinho orgânico :neobot_square: robozinho orgânico :neobot_square:
      in reply to
      • Lambida e diamantes são eternos

      @Kriptolix não conseguiu capturar o erro.

      Tentei:

      ```
      if not location:
      return 417
      ```

      ```
      if location is None:
      return 417
      ```

      ```
      NoneType = type(None)
      if location is None:
      return 417
      ```

      ```
      if isinstance(location, type(None)):
      return 417
      ```

      Mas sempre retorna: 'NoneType' object has no attribute 'raw'

      In conversation about 7 months ago permalink
    • Embed this notice
      robozinho orgânico :neobot_square: (cadusilva@bolha.one)'s status on Wednesday, 31-Dec-2025 14:19:16 JST robozinho orgânico :neobot_square: robozinho orgânico :neobot_square:
      in reply to
      • Lambida e diamantes são eternos

      @Kriptolix eu adicionei um texto específico para o erro 417 no arquivo under_the_weather!

      Usando o print(), consegui ver que location retorna None se não tiver .raw no final de geolocator.geocode.

      Então assim funcionou:

      ```
      location = geolocator.geocode(city_name, language=lang)

      if location == None:
      return 417
      else:
      location = geolocator.geocode(city_name, language=lang).raw
      ```

      🥳

      In conversation about 7 months ago permalink
    • Embed this notice
      Lambida e diamantes são eternos (kriptolix@ursal.zone)'s status on Wednesday, 31-Dec-2025 14:19:17 JST Lambida e diamantes são eternos Lambida e diamantes são eternos
      in reply to

      @cadusilva com 417 e não vai funcionar a não ser que exista um "if report == 417:" no under_the_weather.py no lugar certo. Eu usei o numero 400 pq lá ja tem um if que testa para os numeros 400, 401, 404 e 429.

      Se não funcionar com 400 pode ser pq o erro anterior é fatal. Nesse caso ao invés de adicionar abaixo da linha 44:

      if not location:
      return 400 # cidade inválida ou não encontrada

      é preciso testar o valor antes, adicionando na linha anterior a 44:

      if not city_name:
      return 400 # cidade inválida ou não encontrada.

      Se não funcionar depois eu tento rodar esse bot aqui pra ver.

      In conversation about 7 months ago permalink

      Attachments



Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.