Skip to main content

Unofficial Ruqqus API Wrapper

Project description

ruqqus-api

This is a shitty, patched-together, unoffical API for the website ruqqus.com. This library uses 3 "different" apis. Create a RuqqusAPI object like so:

from ruqqus import RuqqusAPI

ruqqus = RuqqusAPI("username", "password")

If the login is a success, you shouldn't see any message. I'm using requests.Session() to save cookies and stuff, so thats accessable at ruqqus.session if you wanna mess around. Technically the Official v1 api methods don't need authentication, and neither do some other functons.

Official v1

This uses their official v1 json api. All of these (very limited) functions work.

  • guild(boardname) - returns json info about the specified board
  • user(username) - returns json info about the specified user
  • post(pid) - returns json info about the specified post referred to by its id (eg: "wmi")
  • comment(cid) - returns json info about specified comment by id

Unofficial v1

These were written from me studying the ruqqus source code. As of now, none of them work, all returning server errors. The only reason i called them unofficial v1 was because the request url begins with /api/v1 and they use the @api wrapper.

  • post_pid_comment_cid(pid, cid)
  • delete_comment(cid)
  • board_listing(boardname)
  • user_listing(username)

unofficial

A lot of these routes begin with /api, some dont. I think they all mostly work with various levels of success.

  • feeds_public(sort="hot") - returns atoma listing (no clue what this is, but it works). seems to work only the first time, probably because its somewhat RSS-like
  • api_comment(submission, parent_fullname, body) - I haven't gotten this to work, mainly because in the source code it mentions it requires a verified form value or whatever, also because i dunno what submission and parent_fullname refer to
  • board_available(name) - checks if boardname is available. works every time, 80% of the time
  • subscribe_board(boardname) and unsubscribe_board(boardname) - you can guess what these do. they work
  • name_available(username) - checks if username is available. i think this works when the name is not available?
  • follow_user(username) and unfollow_user(username) - havent tested this but it probably works
  • agree_tos - agrees to the terms of service, presumably
  • user_profile_pic(username) - you can also get this info through the official api v1 user function
  • vote_post(post_id, x="1") and vote_comment(comment_id, x="1") - these dont work, idk why, it seems like x should be either -1. 0, or 1

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ruqqus-api-0.4.4.tar.gz (5.2 kB view details)

Uploaded Source

File details

Details for the file ruqqus-api-0.4.4.tar.gz.

File metadata

  • Download URL: ruqqus-api-0.4.4.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.3.1 requests-toolbelt/0.8.0 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for ruqqus-api-0.4.4.tar.gz
Algorithm Hash digest
SHA256 e0ec98ec6f6c97e330794db7bd745ce82d68de8e2e9a2d2ee5680b9e5632beb8
MD5 c8a9a68a2fdcb456671ac201525a970b
BLAKE2b-256 a4c44a07a67ca282711c8f9778505a929a1abd0dbb725e82ad7a89816af5a0cb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page