I may be missing something obvious, but can you search for main url of a post? Trying avoid posting duplicate content. The search doesn’t seem to check the url field for local or all search options.

  • Dankenstein@beehaw.org
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    I’m not sure of any programs that will do this for you but Lemmy has a pretty nice API that you can use and there are libraries you can use for languages like JavaScript: https://github.com/LemmyNet/lemmy-js-client

    import { LemmyHttp } from 'lemmy-js-client
    
    const client = new LemmyHttp( 'https://beehaw.org/' )
    
    const response = await client.search( {
    	listing_type: 'Local',
    	q: 'https://www.huckmag.com/article/sex-workers-and-the-kink-community-are-fighting-back-against-instagram-deplatforming',
    	sort: 'TopNineMonths',
    	type_: 'Url'
    } )
    
    console.log( response.posts.length ) // Should print '1' to the console
    

    Edit: This can also be done without the library, got me interested and I’ve been playing with it.

    This is essentially what the library does when you don’t need authentication:

    https://beehaw.org/api/v3/search?listing_type=Local&q=https%3A%2F%2Fwww.huckmag.com%2Farticle%2Fsex-workers-and-the-kink-community-are-fighting-back-against-instagram-deplatforming&sort=TopNineMonths&type_=Url
    

    This is the function they’re using to URL encode the FormData and it just gets pasted onto “https://www.beehaw.org/api/v3/[endpoint]?”:

    function encodeGetParams(p) {
        return Object.entries(p)
            .filter(kv => !!kv[1])
            .map(kv => kv.map(encodeURIComponent).join("="))
            .join("&");
    }
    
    • irongamer@beehaw.orgOP
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Ah, thanks. I should have given the API a look. I’ll see if I can write something that will do what I need.

      • Many Shapes@beehaw.org
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        If reading through all the JS and/or Rust is frustrating, theres programs to read it into easier to parse formats.