Amino Chat Grabber

A utility to grab and compile chat histories, for parsing, archiving or viewing in an accompanying WIP chat history viewer.

Aŭtoro
RustyGentleman
Ĉiutagaj instaloj
0
Tutaj instaloj
59
Ratings
0 2 0
Versio
2.3
Kreita
2022/08/03
Ĝisdatigita
2023/02/25
Licenco
GNU GPLv3
Aplikiĝas al

A utility to grab and compile chat histories, for parsing, archiving or viewing in an accompanying WIP chat history viewer.

Quick-start (2.0)

  1. Hover the widget to expand it.
  2. (Optional) Load a previously compiled JSON file.
  3. (Optional) Check or uncheck the option to save certain files as DataURIs directly into the JSON structure.
  4. Open a chat that you want to grab.
  5. Under 'Grab:', click 'Current chat' and wait for the procedure to finish.
    • During this, if the delay set in the script is too low, you may get rate-limited by Amino's servers. This is temporary, and reloading after some time will allow the chat to load normally.
    • For the same reason, and due to slow internet speeds, the script may stop scrolling up prematurely. It is advised to check, after the procedure is done, if where it left off is indeed the beginning of the chat. If it is not, simply click the button again and it will attempt to continue scrolling up.

Notes (2.0+)

  • A small text will appear on chat entries in the chat window if that chat is archived, displaying the number of messages saved.
    • Due to information availability, this is determined by the username, which can change, rather than the profile link, which cannot be changed, but is not accessible without opening the chat and opening the right sidebar.
  • The top left widget will also display information on how many communities, chats and messages in total are archived. This can be useful to compare between archive backups.
  • The two buttons under the 'View' section will show a crude display of the data currently stored in the script's internal structure and the browser's LocalStorage, respectively.
  • From v2.3 onward, the script will attempt to save to and load from the browser's Local Storage, allowing the user to forego downloading and loading a JSON file every session.
    • However, Local Storage is limited (to roughly 5MBs in most browsers), and this limit can be quickly exceeded when saving images as data URIs. Not storing data URIs will greatly expand the amount of data that can be stored in this way.
    • Once the Local Storage quota is exceeded by the internal structure, data will no longer be saved to it, but it will not be cleared, and will continue to be loaded. The user is then encouraged to either start saving the compilation to disk, or save the data gathered so far and start gathering another volume.

Quick-start (up to 1.6)

  1. Click the "▣" button on the top left of the page to toggle the widget.
  2. Generate the base JSON structure. It will also include information on how it should be structured.
  3. Generate the JSON for the community currently open/selected in the chat window. This is not strictly necessary if you only intend to read it as a text file and do not care to store what community a chat is from. Otherwise, as per the dictated structure, the code generated should be inserted within the "communities" field of the base structure.
  4. Generate the JSON for the chat currently open/selected in the chat window. As per the dictated structure, the code generated should be inserted within the "chats" field of the community's data structure.

Notes (up to 1.6 (some may still be relevant))

  • This utility will generate JSON, which is a simple, human- and machine-readable data format. It can be read as text in any text editor, and can be readily used in other code (such as the aforementioned chat history viewer).
  • This utility will also grab images (including community logos, user avatars, and covers), stickers and audios sent in a chat. As of v1.6, they will be grabbed as links. As such, it is possible such media might end up removed from Amino's servers, at which point they will become unavailable.
  • This utility's widget has low levels of gay an "RGB"/hue-shifting element to it that some may find infuriating displeasing or distracting. This may be remedied by commenting out lines 148 through 151.
  • The data structure generated by this utility will always be logged to the browser's console, in case you do not wish to have it copied to your clipboard, or lost it from it.
  • The data structure generated by this utility may benefit from getting "beautified" before being read by a human (or otherwise sapient creature).
  • I'll avoid it, but it is possible that I might alter the JSON structure in future updates. When and if I do, I will do my best to implement a way to convert JSON generated in previous versions to the new format when possible.
  • The base JSON structure generated by the utility will include, as comments, information on how the data should be structured. If you intend to only read the JSON itself as a text file, you are free to leave them there and add your own notes wherever you'd like, but if you intend to use this data in any sort of code, delete the comments, as JSON is a data-only format, and thus comments will invalidate it.