Auto Archive Group Data

Auto Archive Group Data is currently in beta. There are still some edge cases that haven't been tested yet, so it may not work perfectly for you. If you're not okay with this, best to wait until Version 1 is released! If you get an error while running this script or the output is not what you expect, please submit a bug report here!
== Summary ==
Archives all guild/party (group) data for multiple groups to spreadsheets in Google Drive folders. Archived data includes:
 Guild name, ID, leader, member count, summary, description
 Member list
 Challenges
 Chat messages
The script can also be set up to archive chat messages automatically, whenever the group receives a new chat message.
== Setup Instructions ==
It is highly recommended that you use a desktop computer for this, as some of the steps don't work well on mobile.
# You need to be a member of each party & guild you are archiving. If you want to archive a guild you're not a member of, join it now. If you don't want to join all the guilds you're archiving, you can create another Habitica account, join the guilds with that account, grant that account's email address Editor access to your Google Drive folders (which you will create in step 8 below), and set up this script for that account instead.
# Click here to go to the Auto Archive Group Data script. If you're not signed into your Google account, click on "Start Scripting", then sign in, then click on the script link again.
# Click the "Make a copy" button (looks like two pages of paper).
# At the top of your screen, click on "Copy of Auto Archive Group Data". Rename it "Auto Archive Group Data" and click the "Rename" button.
# Click here to open your API Settings. Highlight and copy your User ID (it looks something like this: 35c3fb6f-fb98-4bc3-b57a-ac01137d0847). In the Auto Archive Group Data script, paste your User ID between the quotations where it says const USER_ID = "";. It should now look something like this: const USER_ID = "35c3fb6f-fb98-4bc3-b57a-ac01137d0847";
# On the same page where you copied your User ID, click the "Show API Token" button, and copy your API Token. In the Auto Archive Group Data script, paste your API Token between the quotations where it says const API_TOKEN = "";. It should now look something like this: const API_TOKEN = "35c3fb6f-fb98-4bc3-b57a-ac01137d0847";
# Set each of the ARCHIVE_GROUP_INFO, ARCHIVE_GROUP_MEMBERS, ARCHIVE_GROUP_CHALLENGES, and ARCHIVE_GROUP_CHATS to either true or false depending on what data you want to archive.
# If you are archiving your party chat and don't want skill casts to be included in the party chat archive, set OMIT_SKILL_CASTS to true.
# For each guild you want to archive, visit the guild in a web browser and copy the URL in your browser's address bar. In your script, paste the URL between the quotations where it says groupURL: "". If you want to archive your party chat, you don't need a URL, just leave the quotations empty. Next, create a Google Drive folder for that guild (or party), navigate into the folder in your web browser, copy the folder URL, and paste it in between the quotations where it says folderURL: "". If you want, you can add a name in between the quotations where it says name: "", to help you remember what guild or party you are archiving. You can copy & paste the {} containing the name, groupId, and folderId as many times as you want, for as many guilds as you want! Just make sure every {} except for the last one has a comma after it.
# Click the "Save project" button near the top of the page (looks like a floppy disk).
# In the main menu on the left, click on "Project Settings" (looks like a cog).
# Click on the "Time zone" drop down and select the time zone you would like the chat archives to use.
Now, follow the instructions in Archiving Group Data Once and/or Archiving Chats Automatically.
== Archiving Group Data Once ==
Make sure you follow the Setup Instructions first!
# Click here to see a list of your scripts. If you're not already signed into your Google account, click the "Start Scripting" button and sign in. Then click on "My Projects" in the main menu on the left.
# Click on "Auto Archive Group Data".
# Click the drop-down menu to the right of the "Debug" button, near the top of the page. Select "archiveGroupData" from the drop-down.
# Click the "Run" button to the left of the "Debug" button.
# (If this is your first time running the script) Click the "Review permissions" button and select your Google account. Click on "Advanced", then "Go to Auto Archive Group Data (unsafe)". (Don't worry, it is safe!) Then click "Continue", then "Allow".
# Wait for the "Execution completed" message in the Execution Log.
# If you get an error that says "Exceeded maximum execution time", just run the script again. Keep running it until it finishes archiving all the data.
# If you want to share a group archive with others, right-click (Windows/Linux) or Ctrl+click (Mac) on the Google Drive folder in your web browser, then click "Share". Click the dropdown under "General access", and select "Anyone with the link". Then click the "Copy link" button and share that link with whoever you want.
== Archiving Chats Automatically ==
Make sure you follow the Setup Instructions first!
# Click here to see a list of your scripts. If you're not already signed into your Google account, click the "Start Scripting" button and sign in. Then click on "My Projects" in the main menu on the left.
# Click on "Auto Archive Group Data".
# Click the blue "Deploy" button near the top of the page, then click "New deployment", then click the "Deploy" button.
# (If this is your first time deploying) Click the "Review permissions" button and select your Google account. Click on "Advanced", then "Go to Auto Archive Group Data (unsafe)". (Don't worry, it is safe!) Then click "Continue", then "Allow".
# Under "Web app", click the "Copy" button to copy the Web App URL. Then click the "Done" button.
# Paste your Web App URL inside the quotations where it says const WEB_APP_URL = "";.
# Click the drop-down menu to the right of the "Debug" button, near the top of the page. Select "install" from the drop-down.
# Click the "Run" button to the left of the "Debug" button. Wait for it to say "Execution completed".
# If you want to share a group archive with others, right-click (Windows/Linux) or Ctrl+click (Mac) on the Google Drive folder in your web browser, then click "Share". Click the dropdown under "General access", and select "Anyone with the link". Then click the "Copy link" button and share that link with whoever you want.
You're all done! If you need to change the settings (including the time zone) or uninstall the script at some point, follow the steps below.
== Changing the Settings ==
It is highly recommended that you use a desktop computer for this, as some of the steps don't work well on mobile.
# Click here to see a list of your scripts. If you're not already signed into your Google account, click the "Start Scripting" button and sign in. Then click on "My Projects" in the main menu on the left.
# Click on "Auto Archive Group Data".
# Edit the settings (consts) to your liking.
# Click the "Save project" button near the top of the page (looks like a floppy disk).
# If you want to change the time zone, click on "Project Settings" in the main menu, select the new time zone, then click on "Editor" in the main menu.
If you are not archiving chats automatically, you can stop here. Otherwise, continue to the next step.
# Click the blue "Deploy" button near the top of the page, then click "Manage deployments".
# Click the "Edit" button (looks like a pencil). Under "Version", select "New version".
# Click the "Deploy" button, then the "Done" button.
# Click the drop-down menu to the right of the "Debug" button, near the top of the page. Select "install" from the drop-down.
# Click the "Run" button to the left of the "Debug" button. Wait for it to say "Execution completed".
== Uninstalling the Script ==
This is only necessary if you are archiving chats automatically. It is highly recommended that you use a desktop computer for this, as some of the steps don't work well on mobile.
# Click here to see a list of your scripts. If you're not already signed into your Google account, click the "Start Scripting" button and sign in. Then click on "My Projects" in the main menu on the left.
# Click on "Auto Archive Group Data".
# Click the drop-down menu to the right of the "Debug" button, near the top of the page. Select "uninstall" from the drop-down.
# Click the "Run" button to the left of the "Debug" button. Wait for it to say "Execution completed".
# Click the blue "Deploy" button near the top of the page, then click "Manage deployments".
# Click the "Archive" button (looks like a box with a down arrow inside). Then click the "Done" button.
== Updating the Script ==
It is highly recommended that you use a desktop computer for this, as some of the steps don't work well on mobile.
# Follow the steps in Uninstalling the Script above.
# Copy & paste your settings (consts) into a text editor so you can reference them while setting up the new version.
# In the main menu on the left, click on "Overview" (looks like a lowercase letter i inside a circle).
# Click the "Remove project" button (looks like a trash can).
# Follow the Setup Instructions above.
== Contact ==
❔ Questions: https://github.com/bumbleshoot/auto-archive-group-data/discussions/categories/q-a
💡 Suggestions: https://github.com/bumbleshoot/auto-archive-group-data/discussions/categories/suggestions
🐞 Report a bug: https://github.com/bumbleshoot/auto-archive-group-data/issues
💗 Donate: https://github.com/sponsors/bumbleshoot